Avatar ·

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...