¿Cómo agregar un artículo a ArrayList
en Kotlin?
89
¿Cómo agregar un artículo a ArrayList
en Kotlin?
Para las personas que acaban de migrar java
, In Kotlin
List
es por defecto inmutable y se llama la versión mutable de Lists MutableList
.
Por lo tanto, si tiene algo como:
val list: List<String> = ArrayList()
En este caso, no obtendrá un add()
método ya que la lista es inmutable. Por lo tanto, tendrá que declarar MutableList
como se muestra a continuación:
val list: MutableList<String> = ArrayList()
Ahora verá un add()
método y podrá agregar elementos a cualquier lista.
Si tienes una colección MUTABLE :
val list = mutableListOf(1, 2, 3) list += 4
Si tienes una colección INMUTABLE :
var list = listOf(1, 2, 3) list += 4
tenga en cuenta que utilizo
val
para la lista mutable para enfatizar que el objeto es siempre el mismo, pero su contenido cambia.En el caso de la lista inmutable, debes hacerlo
var
. El+=
operador crea un nuevo objeto con el valor adicional.fuente
+=
en una lista no mutable, requiere copiar todos los elementos de la lista en una nueva lista mutable y luego reasignarla a su lista actual. No sabía que era adecuado declarar su lista comovar
. de todos modos, declarar una lista como var no es una buena idea para mí.var
. Si una lista inmutable se declara comoval
, entonces la lista no podrá cambiar nunca. Sería posible reasignarlo a otra variable.Si desea usar java ArrayList específicamente, puede hacer algo como esto:
fun initList(){ val list: ArrayList<String> = ArrayList() list.add("text") println(list) }
De lo contrario, la respuesta @guenhter es la que está buscando.
fuente