Kotlin ofrece formas flexibles para gestionar colecciones, pero comprender la diferencia entre listas mutables e inmutables es crucial. Este artículo explora la adición de elementos a ambos tipos usando la función add()
y el operador +=
.
Tabla de Contenido
- Añadir Elementos con la función
add()
- Añadir Elementos con el operador
+=
- Trabajando con Listas Inmutables
Añadir Elementos con la función add()
La función add()
proporciona maneras versátiles de añadir elementos a un ArrayList
. Puedes añadir al final o insertar en un índice específico.
Añadir al final:
val mutableList = ArrayList()
mutableList.add("Apple")
mutableList.add("Banana")
mutableList.add("Cherry")
println(mutableList) // Salida: [Apple, Banana, Cherry]
Insertar en un índice específico:
mutableList.add(1, "Orange") // Añade "Orange" en el índice 1
println(mutableList) // Salida: [Apple, Orange, Banana, Cherry]
Añadir Elementos con el operador +=
El operador +=
ofrece una forma concisa de añadir elementos, particularmente útil para añadir elementos individuales o fusionar listas.
Añadir un solo elemento:
val mutableList2 = ArrayList()
mutableList2 += 1
mutableList2 += 2
mutableList2 += 3
println(mutableList2) // Salida: [1, 2, 3]
Añadir múltiples elementos de otra colección:
val list1 = ArrayList(listOf(1,2,3))
val list2 = listOf(4,5,6)
list1 += list2
println(list1) // Salida: [1, 2, 3, 4, 5, 6]
Trabajando con Listas Inmutables
Tanto add()
como +=
están diseñados para listas mutables. Intentar usarlos en una lista inmutable (creada usando listOf()
) resultará en un error de compilación. Para añadir a una lista inmutable, debes crear una nueva lista que contenga los elementos originales y los nuevos.
val immutableList = listOf("Apple", "Banana", "Cherry")
val newList = immutableList + "Orange" //Crea una nueva lista
println(newList) // Salida: [Apple, Banana, Cherry, Orange]
En Resumen:
add()
proporciona un control granular, mientras que +=
ofrece una sintaxis concisa. Elige el método que mejor se adapte a tus necesidades. Recuerda siempre la distinción entre listas mutables e inmutables para evitar errores.