Comment obtenir l'index actuel d'un élément dans une boucle forEach en Kotlin ?
Bonjour, collègues ! Je viens de commencer à apprendre Kotlin et j'ai rencontré un problème en travaillant avec les boucles. En Java, j'avais l'habitude d'utiliser une boucle for classique avec un index, par exemple :
```java
for (int i = 0; i < list.size(); i++) {
System.out.println(i + ": " + list.get(i));
}
```
Mais en Kotlin, je vois que tout le monde recommande d'utiliser forEach :
```kotlin
list.forEach { item ->
println(item)
}
```
C'est pratique, mais que faire si j'ai besoin non seulement de l'élément lui-même, mais aussi de son index ? Par exemple, je veux afficher une liste de tâches avec des numéros :
```kotlin
val tasks = listOf("Acheter du pain", "Laver la vaisselle", "Faire les devoirs")
tasks.forEach { task ->
println("$index: $task") // Erreur ! index n'est pas défini
}
```
Ici, j'obtiens une erreur de compilation car la variable index n'existe pas. J'ai essayé de créer un compteur séparé :
```kotlin
var index = 0
tasks.forEach { task ->
println("$index: $task")
index++
}
```
Mais cela semble bancal et peu élégant. De plus, si j'utilise un parallèle...
No answers yet.
Connectez-vous pour laisser une réponse
Blogs