Obtenir l'index actuel d'une boucle forEach dans Kotlin

Kailash Vaviya 15 février 2024
  1. Obtenir l’index actuel d’un élément dans une boucle forEach à l’aide de forEachIndexed() dans Kotlin
  2. Obtenir l’index actuel d’un élément dans une boucle forEach à l’aide de withIndex() dans Kotlin
  3. Obtenir l’index actuel d’un élément dans une boucle forEach à l’aide de Indices dans Kotlin
  4. Obtenir l’index d’un élément de tableau à l’aide de filterIndexed() dans Kotlin
Obtenir l'index actuel d'une boucle forEach dans Kotlin

Connaître l’index actuel d’un élément dans une boucle forEach peut vous aider à trouver la position de l’élément que vous recherchez. Cet article passera en revue différentes manières de trouver l’index courant d’une boucle forEach.

Il y a trois façons différentes d’obtenir ce que nous voulons, qui sont :

  1. Utiliser forEachIndexed()
  2. Utiliser withIndex()
  3. Utilisation de indices

Obtenir l’index actuel d’un élément dans une boucle forEach à l’aide de forEachIndexed() dans Kotlin

On peut utiliser la fonction forEachIndexed() pour récupérer l’index courant. C’est une fonction en ligne qui accepte un tableau en entrée.

Le forEachIndexed() affiche les éléments d’index et leurs valeurs.

La syntaxe d’utilisation de la fonction forEachIndexed() est la suivante.

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

Prenons un exemple pour comprendre comment cela fonctionne. Nous allons créer un tableau Student et le parcourir en utilisant forEachIndexed() pour obtenir les index et les valeurs en sortie dans l’exemple ci-dessous.

fun main() {
    var Student = listOf("Virat", "David", "Steve", "Joe", "Chris")

    Student.forEachIndexed {index, element ->
        println("The index is $index and the item is $element ")
    }
}

Production:

Utilisation de forEachIndexed pour obtenir l’index actuel dans Kotlin

Obtenir l’index actuel d’un élément dans une boucle forEach à l’aide de withIndex() dans Kotlin

Outre forEachIndexed(), nous pouvons également utiliser la fonction withIndex() pour obtenir l’index actuel d’un élément dans une boucle forEach dans Kotlin.

C’est une fonction de bibliothèque qui permet d’accéder aux index et aux valeurs via une boucle.

Nous allons à nouveau utiliser le même tableau, mais cette fois avec la fonction withIndex() pour accéder aux index et valeurs du tableau Student.

fun main() {
    var Student = listOf("Virat", "David", "Steve", "Joe", "Chris")

    for ((index, element) in Student.withIndex()) {
        println("The index is $index and the item is $element ")
    }
}

Production:

Utilisation de withIndex pour obtenir l’index actuel dans Kotlin

Obtenir l’index actuel d’un élément dans une boucle forEach à l’aide de Indices dans Kotlin

On peut aussi utiliser le mot clé indices pour obtenir l’index courant. La syntaxe d’utilisation des indices est la suivante.

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

Utilisons cette syntaxe dans notre tableau Student pour accéder à l’index et aux valeurs.

fun main(args : Array<String>){

    val Student = arrayOf("Virat", "David", "Steve", "Joe", "Chris")
    for (i in Student.indices){
        println("Student[$i]: ${Student[i]}")
    }
}

Production:

Utilisation d&rsquo;index pour obtenir l&rsquo;index actuel dans Kotlin

Obtenir l’index d’un élément de tableau à l’aide de filterIndexed() dans Kotlin

Nous pouvons obtenir l’index actuel en utilisant les fonctions ci-dessus. Mais que se passe-t-il si nous voulons accéder uniquement à des index spécifiques et pas à tous.

Nous pouvons le faire en utilisant la fonction filterIndexed().

La fonction filterIndexed() accepte une condition en argument. En fonction de la condition que nous passons, la fonction peut filtrer la sortie pour afficher les index requis.

Utilisons la fonction filterIndexed() pour accéder uniquement aux valeurs aux index pairs du tableau Student.

fun main(args : Array<String>){

    val Student = arrayOf("Virat", "David", "Steve", "Joe", "Chris")
        .filterIndexed { index, _ ->  index % 2 == 0 }
        .forEach { println(it) }
}

Production:

Utilisation de filterIndexed pour obtenir la valeur d&rsquo;un index spécifique dans Kotlin

Kailash Vaviya avatar Kailash Vaviya avatar

Kailash Vaviya is a freelance writer who started writing in 2019 and has never stopped since then as he fell in love with it. He has a soft corner for technology and likes to read, learn, and write about it. His content is focused on providing information to help build a brand presence and gain engagement.

LinkedIn