Arrays en Kotlin

Los arrays son una estructura de datos fundamental en Kotlin que permite almacenar una colección ordenada de elementos del mismo tipo. En este artículo, aprenderemos todo lo que necesitas saber sobre los arrays en Kotlin, desde cómo crearlos hasta cómo usarlos en tus programas.

Creación de arrays en Kotlin

Los arrays en Kotlin se pueden crear de varias maneras:

1. Declaración con la función arrayOf: Es la forma más simple de crear un array. Se escribe la función arrayOf seguida de una lista de elementos entre paréntesis.

Ejemplo:


val numeros = arrayOf(1, 2, 3, 4, 5)
val nombres = arrayOf("Juan", "María", "Pedro", "Ana")

Lenguaje del código: Kotlin (kotlin)

2. Declaración con el tipo de dato: Se puede especificar el tipo de dato del array entre corchetes después del nombre del array.

Ejemplo:


val numeros: IntArray = intArrayOf(1, 2, 3, 4, 5)
val nombres: Array<String> = arrayOf("Juan", "María", "Pedro", "Ana")

Lenguaje del código: Kotlin (kotlin)

3. Creación de un array vacío: Se puede usar la función emptyArray para crear un array vacío.

Ejemplo:


val numerosVacios: IntArray = emptyArray()
val nombresVacios: Array<String> = emptyArray()

Lenguaje del código: Kotlin (kotlin)

Acceso a elementos

Se puede acceder a un elemento de un array usando su índice entre corchetes. El índice comienza en 0 y va hasta el tamaño del array menos 1.

Ejemplo:


val numeros = arrayOf(1, 2, 3, 4, 5)

val primerNumero = numeros[0] // Imprime 1
val ultimoNumero = numeros[numeros.size - 1] // Imprime 5

Lenguaje del código: Kotlin (kotlin)

Modificación de arrays

Los arrays en Kotlin son mutables, lo que significa que se pueden modificar después de ser creados. Se puede modificar un elemento de un array usando su índice y el operador de asignación.

Ejemplo:


val numeros = arrayOf(1, 2, 3, 4, 5)

numeros[0] = 10 // Modifica el primer elemento
numeros[numeros.size - 1] = 6 // Modifica el último elemento

Lenguaje del código: Kotlin (kotlin)

Funciones útiles

  • size: Obtiene el tamaño del array.

Ejemplo:


val numeros = arrayOf(1, 2, 3, 4, 5)

val tamanio = numeros.size
println(tamanio) // Imprime 5

Lenguaje del código: Kotlin (kotlin)
  • isEmpty: Comprueba si el array está vacío.

Ejemplo:


val numeros = arrayOf(1, 2, 3, 4, 5)

val estaVacio = numeros.isEmpty()
println(estaVacio) // Imprime false

val numerosVacios: IntArray = emptyArray()

val estaVacio2 = numerosVacios.isEmpty()
println(estaVacio2) // Imprime true

Lenguaje del código: Kotlin (kotlin)
  • contains: Comprueba si el array contiene un elemento.

Ejemplo:


val numeros = arrayOf(1, 2, 3, 4, 5)

val contieneElNumero3 = numeros.contains(3)
println(contieneElNumero3) // Imprime true

Lenguaje del código: Kotlin (kotlin)
  • indexOf: Obtiene el índice de la primera aparición de un elemento en el array.

Ejemplo:


val numeros = arrayOf(1, 2, 3, 4, 5)

val indiceDelNumero3 = numeros.indexOf(3)
println(indiceDelNumero3) // Imprime 2

Lenguaje del código: Kotlin (kotlin)
  • lastIndexOf: Obtiene el índice de la última aparición de un elemento en el array.

Ejemplo:


val numeros = arrayOf(1, 2, 3, 4, 3)

val indiceDelUltimoNumero3 = numeros.lastIndexOf(3)
println(indiceDelUltimoNumero3) // Imprime 4

Lenguaje del código: Kotlin (kotlin)

Iteración sobre arrays

Se puede recorrer un array usando un bucle for.

Ejemplo:


val numeros = arrayOf(1, 2, 3, 4, 5)

for (numero in numeros) {
  println(numero)
}

// Imprime:
// 1
// 2
// 3
// 4
// 5

Lenguaje del código: Kotlin (kotlin)

Funciones de ordenamiento

Kotlin ofrece varias funciones para ordenar arrays:

  • sort: Ordena el array en orden ascendente.

Ejemplo:


val numeros = arrayOf(5, 2, 1, 4, 3)

numeros.sort()

for (numero in numeros) {
  println(numero)
}

// Imprime:
// 1
// 2
// 3
// 4
// 5

Lenguaje del código: Kotlin (kotlin)
  • sortDescending: Ordena el array en orden descendente.

Ejemplo:


val numeros = arrayOf(5, 2, 1, 4, 3)

numeros.sortDescending()

for (numero in numeros) {
  println(numero)
}

// Imprime:
// 5
// 4
// 3
// 2
// 1

Lenguaje del código: Kotlin (kotlin)
  • sortBy: Ordena el array según una función.

Ejemplo:


val personas = arrayOf(
  Persona("Juan", 20),
  Persona("María", 30),
  Persona("Pedro", 18),
  Persona("Ana", 25)
)

personas.sortBy { it.edad }

for (persona in personas) {
  println(persona.nombre)
}

// Imprime:
// Pedro
// Juan
// Ana
// María

Lenguaje del código: Kotlin (kotlin)

sortByDescending: Ordena el array en orden descendente según una función.

Ejemplo:


val personas = arrayOf(
  Persona("Juan", 20),
  Persona("María", 30),
  Persona("Pedro", 18),
  Persona("Ana", 25)
)

personas.sortByDescending { it.edad }

for (persona in personas) {
  println(persona.nombre)
}

// Imprime:
// María
// Ana
// Juan
// Pedro

Lenguaje del código: Kotlin (kotlin)

Nota: Las funciones de ordenamiento modifican el array original.


Conclusión

Los arrays son una herramienta fundamental para escribir programas en Kotlin. En este artículo, hemos aprendido lo básico sobre los arrays, incluyendo cómo crearlos, acceder a sus elementos, modificarlos y usar algunas funciones útiles.