¿Cómo agregar un artículo a ArrayList
en Kotlin?
Respuestas:
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.
+=
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 como var
. de todos modos, declarar una lista como var no es una buena idea para mí.
var
. Si una lista inmutable se declara como val
, entonces la lista no podrá cambiar nunca. Sería posible reasignarlo a otra variable.