Arrays y listas mutables en Kotlin: creación y manipulación

Clase 12 de 35Curso de Kotlin

Resumen

Dominar el uso de colecciones, como arrays y listas mutables, en Kotlin es esencial al crear aplicaciones efectivas y optimizadas. Aprender adecuadamente cómo declararlas, acceder a sus elementos individuales y editarlas, dota al desarrollador de herramientas prácticas que flexibilizan el manejo de datos.

¿Qué son y cómo crear arrays en Kotlin?

Los arrays en Kotlin son útiles al almacenar un conjunto fijo y definido de elementos. Puedes declararlos fácilmente usando la instrucción arrayOf junto con los elementos separados por comas:

val emails = arrayOf("Juan@empresa.com", "Carlos@empresa.com", "Wilson@empresa.com")

Cada array es una colección de un solo tipo de dato definido, como cadenas de texto o números.

¿Cómo acceder y modificar elementos de un array?

Acceder a los elementos de un array se logra mediante sus índices, recordando que comienzan en cero:

println(emails[0]) // Accede al primer email

La modificación se realiza usando el operador de acceso:

emails[0] = "nuevoCorreoJuan@empresa.com"

Otra alternativa usando métodos:

emails.set(0, "otroCorreoJuan@empresa.com")

¿Qué pasa al intentar acceder a índices fuera del rango?

Intentar acceder a posiciones más allá del tamaño definido del array generará una excepción.

Por ejemplo, este acceso intentará acceder al cuarto elemento de un array con solo tres elementos:

println(emails[3]) // Error: Index 3 out of bounds

Para evitar estas situaciones, siempre revisa el tamaño del array antes de acceder a elementos específicos.

¿Qué diferencia hay entre arrays y listas mutables?

Mientras los arrays tienen tamaños fijos que no permiten añadir o eliminar sus elementos, las listas mutables son más flexibles y pueden crecer o reducirse:

val listaEmails = mutableListOf<String>()

Esta lista mutable permite operaciones como agregar elementos en cualquier momento:

listaEmails.add("nuevoEmail@empresa.com")

Incluso se puede agregar un grupo de elementos desde otro array:

listaEmails.addAll(arrayOf("Juan@empresa.com", "Carlos@empresa.com"))

¿Cómo agregar o remover elementos específicos?

Para remover un elemento específico basta usar:

listaEmails.remove("Juan@empresa.com")

Cuando necesites insertar un elemento en una posición particular para conservar un orden:

listaEmails.add(0, "Juan@empresa.com") // Inserta en la posición inicial

¿Cómo mostrar todo el contenido de una colección claramente?

Para imprimir ordenadamente todos los elementos de una colección, puedes concatenar los elementos usando joinToString():

println("Lista completa: ${listaEmails.joinToString()}")

¿Tienes alguna consulta sobre el manejo de arrays o listas mutables en Kotlin que quisieras profundizar? Coméntanos tus dudas para seguir aprendiendo juntos.