Cómo obtener el índice de un elemento en un bucle forEach en Kotlin
¡Hola! Soy nuevo en Kotlin, vengo de Java. En Java solía usar un bucle for normal con índice:
```java
for (int i = 0; i < list.size(); i++) {
System.out.println("Index: " + i + ", Value: " + list.get(i));
}
```
Pero en Kotlin veo que todos recomiendan usar forEach:
```kotlin
list.forEach { item ->
println(item)
}
```
El problema es que a menudo necesito saber no solo el valor del elemento, sino también su índice (posición) en la lista. Por ejemplo, estoy haciendo una lista de tareas en Android y quiero mostrar el número de orden de cada tarea. O quiero verificar si el elemento es el último en la lista.
Intenté hacerlo así:
```kotlin
var index = 0
list.forEach { item ->
println("$index: $item")
index++
}
```
Pero esto parece un parche y no es confiable. Si dentro del bucle hay un break o return, el índice se desincroniza. También escuché que en Kotlin existe la función withIndex(), pero no entiendo cómo usarla correctamente.
Díganme cómo obtener el índice de manera correcta y elegante.
No answers yet.
Inicia sesión para dejar una respuesta