studio programacion para móviles libro extensions edición desarrollo curso aplicaciones android for-loop kotlin

para - manual de programacion android pdf



Cómo obtener el índice actual para cada Kotlin (7)

¿Cómo obtengo el índice para un para cada ciclo? Quiero imprimir números para cada segunda iteración

Por ejemplo

for(value in collection) { if(iteration_no % 2) { //do something } }

En java tenemos el tradicional bucle for

for(int i=0; i< collection.length; i++)

¿Cómo obtener el i?


Además de las soluciones proporcionadas por @Audi, también hay para forEachIndexed :

collection.forEachIndexed { index, element -> // ... }


Alternativamente, puede usar la función de biblioteca withIndex :

for ((index, value) in array.withIndex()) { println("the element at $index is $value") }


Parece que lo que realmente está buscando es filterIndexed

Por ejemplo:

listOf("a", "b", "c", "d") .filterIndexed { index, _ -> index % 2 != 0 } .forEach { println(it) }

Resultado:

b d


Puedes usar :

for(i in 0..collection.length) { if(collection[i] % 2 == 0) { //do something } }


Usa indices

for (i in array.indices) { print(array[i]) }

Si desea valor e índice Use withIndex()

for ((index, value) in array.withIndex()) { println("the element at $index is $value") }

Referencia: Control de flujo en kotlin


prueba esto; en bucle

for ((i, item) in arrayList.withIndex()) { }


Ranges también conducen a un código legible en tales situaciones:

(0 until collection.size step 2) .map(collection::get) .forEach(::println)