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)