Listas inmutables y mutables en Kotlin
Clase 13 de 35 • Curso de Kotlin
Resumen
Las listas y arrays son estructuras esenciales en Kotlin para almacenar datos. Las listas inmutables, por ejemplo, permiten acceder y modificar elementos, aunque no añadir ni eliminar elementos nuevos. Por otro lado, las listas mutables ofrecen mayor versatilidad, permitiendo agregar, modificar y eliminar elementos fácilmente.
¿Qué diferencias existen entre arrays y listas inmutables?
Los arrays son estructuras básicas con tamaño definido que permiten un acceso rápido en memoria, útiles cuando la cantidad de elementos está clara. Las listas inmutables también poseen tamaño fijo, pero brindan más funciones que los arrays, aunque con un acceso ligeramente más lento en memoria.
Entre las funciones adicionales que las listas inmutables ofrecen frente a los arrays, destacan:
- Obtener sublistas con
subList
. - Acceder al primer o último elemento fácilmente con
first
ylast
. - Encontrar el índice del último elemento utilizando
lastIndex
.
Al segmentar listas inmutables utilizando subList
, el rango superior es excluyente. Por ejemplo, desde la posición uno hasta la posición tres significa obtener elementos desde la posición uno hasta la dos, no incluyendo la tres.
¿En qué casos usar listas mutables?
La ventaja significativa de las MutableListOf
radica en su capacidad de cambiar en tamaño y contenido dinámicamente. Son especialmente útiles cuando necesitas manipular su contenido activamente, agregando y eliminando elementos.
En un ejercicio práctico sugerido, se recomienda especialmente esta lista mutable para:
- Agregar elementos.
- Modificar elementos específicos.
- Eliminar elementos fácilmente con métodos como
removeAt
.
¿Cómo utilizar listas mutables en Kotlin?
Veamos un breve ejercicio de cómo manipular una lista mutable en Kotlin:
// Crea una lista mutable con asuntos de email
val asuntos = mutableListOf("Reunión de equipo", "Reporte mensual", "Invitación al evento")
// Modifica el segundo asunto
asuntos[1] = "Reporte semanal"
// Elimina el primer asunto
asuntos.removeAt(0)
// Imprime la lista resultante y su tamaño
println(asuntos.joinToString())
println("Tamaño final: ${asuntos.size}")
Después de ejecutar este código, obtendrás la lista final con dos elementos, comprobando claramente cómo las listas mutables permiten fácil actualización de datos.
Es fundamental revisar la documentación oficial proporcionada en la sección de recursos y explorar otras funciones disponibles, adaptadas a tus necesidades específicas de desarrollo. Te invitamos a comentar acerca de las funcionalidades que encuentres útiles y cómo las aplicarías en tus proyectos.