En este post vamos a ver cómo declarar arreglos en Kotlin y cómo recorrerlos usando un ciclo for.
Recordemos que los arreglos no son más que colecciones de elementos del mismo tipo, a los que se accede a través de su índice.
Definir arreglo en Kotlin usando arrayOf
Para declarar un arreglo en Kotlin se usa la función arrayOf
, y se indican los elementos del arreglo como argumentos a la función.
val arreglo = arrayOf(elemento1, elemento2, ...)
Los elementos pueden ser de cualquier tipo de dato soportado, pero todos deben ser del mismo tipo.
// Definir un arreglo con arrayOf
val nombres = arrayOf("Luis", "María José", "Fernando")
println(nombres[1]) // María José
Se puede definir el valor a través del índice de un arreglo:
arreglo[0] = valor
Y acceder al mismo de igual forma:
val elemento = arreglo[0]
Declarar arreglo con Array
Otra forma de crear un arreglo es a través de Array
, pasando la capacidad del mismo y una función de llenado.
La función de llenado es una función que recibe el índice del arreglo; y debe devolver un valor que será puesto en ese índice del arreglo.
// Declararlo con su longitud y una función de init
val arregloDeEnteros = Array(5, { indice -> indice + 1})
En el ejemplo de arriba estamos llenando el arreglo con números del 1 al 5, ya que es el valor del índice + 1.
Recorrer arreglos
Para recorrer un arreglo de Kotlin se usa un ciclo for
y el operador in
:
// Definir un arreglo con arrayOf
val nombres = arrayOf("Luis", "María José", "Fernando")
for (nombre in nombres){
println(nombre)
}
En este caso se recorre por el valor; si se desea recorrer a través del índice hay que iterar en arreglo.indices
:
// Definir un arreglo con arrayOf
val nombres = arrayOf("Luis", "María José", "Fernando")
for (indice in nombres.indices){
println("En el índice ${indice} tenemos a ${nombres[indice]}")
}
Longitud
Para obtener la longitud de un arreglo accedemos a la propiedad size
:
// Acceder a longitud
val longitud = arregloDeEnteros.size
println("La longitud del arreglo es $longitud")
Poniendo todo junto y probando código
El siguiente código resume y junta todo lo explicado en el post:
fun main() {
// by parzibyte
// Definir un arreglo con arrayOf
val nombres = arrayOf("Luis", "María José", "Fernando")
println(nombres[1]) // María José
for (nombre in nombres){
println(nombre)
}
for (indice in nombres.indices){
println("En el índice ${indice} tenemos a ${nombres[indice]}")
}
// Declararlo con su longitud y una función de init
val arregloDeEnteros = Array(5, { indice -> indice + 1})
// Se puede modificar como cualquier arreglo
arregloDeEnteros[2] = 500
for (numero in arregloDeEnteros){
println(numero)
}
// Acceder a longitud
val longitud = arregloDeEnteros.size
println("La longitud del arreglo es $longitud")
}
Puedes probarlo y ejecutarlo aquí.
Pingback: Ciclos en Kotlin: while, for y do while - Parzibyte's blog