Ciclos for y foreach en Kotlin
Clase 15 de 47 • Curso Básico de Kotlin 2019
Nos adelantamos un poco y en clases anteriores aprendimos a usar el ciclo for, como viste Kotlin lo hace muy sencillo de entender pues su sintaxis es muy clara.
Veamos un grado más de complejidad en los ciclos for y además aprendamos sobre foreach.
Básicamente sabemos que un ciclo for itera o recorre una lista de elementos.
Imaginemos que tenemos la siguiente lista:
var daysOfWeek = listOf("Domingo","Lunes","Martes","Miercoles","Jueves","Viernes","Sabado")
La forma tradicional de iterarlo sería así:
for(day in daysOfWeek){ println(day) }
Con esto estaremos imprimiendo día por día. En algún punto del curso platicamos lo útil que a veces suele ser tener acceso índices, en Kotlin es posible tener acceso al índice de una lista recorrida en un ciclo for, podemos hacerlo con la siguiente sintaxis:
for((index,day) in daysOfWeek.withIndex()){ println("$index :$day") }
De esta forma podemos imprimir el día acompañado de su respectivo índice.
Foreach
Tenemos una forma de recorrer esto mismo pero con una sintaxis más simplificada, esto es utilizando un foreach, que en esencia tendrá el mismo objetivo que un for natural de Kotlin, recorrer una lista de elementos, solo que la sintaxis aquí es más clara.
Miremos la misma lista de días, recorridas con un foreach:
var daysOfWeek = listOf("Domingo","Lunes","Martes","Miercoles","Jueves","Viernes","Sabado") daysOfWeek.forEach{ println(it) }
it
será el iterador que contiene cada elemento de la lista mientras es recorrida.
Como vemos aparentemente ambas formas de recorrer listas parecen ser igual, sin embargo se ha comprobado que un ciclo for es 10x más rápido que uno foreach.