Capítulo 9 – Arrays en Kotlin

curso de programacion kotlin

Las arrays (o arreglos) son secuencias de datos, del mismo tipo e identificados por un nombre común. Para hacerlo más fácil de entender imaginemos que tenemos que almacenar los 7 días de la semana, podríamos crear 7 variables Strings o almacenarlas todas en una sola array.

Ahora la variable weekDays contiene todos los días de la semana. Ahora para acceder a cada uno de los valores, lo haremos a través de la posición. Por ejemplo, imaginemos un edificio, cada valor se almacena en una planta, por lo que el primer valor estará en la posición 0, el segundo en la 1 y así con cada uno de ellos. Recordar que se empieza en la posición 0.

Entonces podremos acceder a cada uno de los valores gracias a la función get() que nos devolverá el valor de dicha posición.

Esto nos pintará los días de la semana (posiciones de la 0 a la 6). Si pusiéramos en el get una posición que no tiene, por ejemplo la 7 nos daría una excepción al ejecutarse la aplicación ArrayIndexOutOfBoundsException, y es por ello por lo que al trabajar con arrays debemos tener bien claro el tamaño de la array.

Para evitar ese tipo de problemas podemos usar la función size, que nos devolverá el tamaño de dicha array.

Si ejecutamos dicho código no entrará en el if porque el tamaño de la array es de 7 (No es lo mismo tamaño que posición), por lo que nos pintará “no tiene más parámetros en la array”.

Como había dicho al principio del post, las array tienen una serie de limitaciones, entre ellas que tienen que tener un tamaño fijo y será el número de valores que le asignemos al instanciarla, eso significa que siempre va a tener un tamaño de 7, y no podremos añadir más datos, pero si cambiarlos a través de la función set().

La función set() recibe dos parámetros, el primero es la posición a la que queremos acceder y el segundo el es nuevo valor a reemplazar. Hay que tener en cuenta que el valor que le mandemos debe ser del mismo tipo, por ejemplo esta array son de Strings, por lo que no podemos pasar un Int.

Recorriendo Arrays

Ahora que ya conocemos un poco más que es una array y como trabajar con ellas, vamos a ver como recorrerlas.

Aunque podríamos hacerlo como hicimos arriba, hay modos más rápidos y óptimos, el bucle for(). Este bucle nos permite entre otras, recorrer la array entera, posición por posición y acceder a cada uno de los parámetros que contiene. Vamos a volver a pintar los 7 días de la semana con este método.

Mucho menos código ¿verdad?. Vamos a ver que es lo que hemos hecho.

El for necesitará  una variable, en este caso “posición” que irá teniendo el valor de cada una de las posiciones de la array. Su funcionamiento es muy sencillo, cuando pasa por el for por primera vez, tendrá valor 0, entonces comprueba el tamaño de weekDays y si es mayor, entra a la función, hace lo que le pidamos (en este caso pintar en la posición de la variable) y vuelve al inicio, así hasta llegar a 6 que será la última posición de la array.

También el for nos permite sacar tanto el índice como el valor directamente, para ello haríamos lo siguiente.

Y dicho for nos devolvería lo siguiente

curso programacion kotlin

Si por el contrario solo os interesa el contenido podríamos hacer directamente un for in sin acceder a la posición, solo al contenido.

Devolviéndonos la lista de días de la semana.

Comparte 🙂
0

3 comentarios sobre “Capítulo 9 – Arrays en Kotlin

  1. Pingback: Capítulo 10 - Listas en Kotlin - Curso Kotlin Para android

  2. bananna_potato_nah Contestar

    una pregunta como podría crear una función en una clase que reciba como parámetro un array ???
    y como puedo hacer la llamada a esta función en mi método main???

    • Aris Autor del artículoContestar

      Buenas @BANANNA_POTATO_NAH

      La función que reciba una array sería así:

      fun workingWithArray(myArray: Array) {
      //trabajamos con la array que recibimos
      }

      Y para llamarla desde el método main simplemente llamamos a la función

      override fun onCreate(savedInstanceState: Bundle?) {
      super.onCreate(savedInstanceState)
      setContentView(R.layout.activity_main)
      workingWithArray(weekDays) //Le pasamos una array de días de la semana
      }

      Saludos

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *