HOWTO · Kotlin

Rufen Sie den aktuellen Index einer forEach-Schleife in Kotlin ab

Wenn wir den aktuellen Index einer Schleife kennen, können wir verschiedene Aktionen für ein bestimmtes Element einer Sammlung ausführen. In diesem Artikel erfahren Sie, wie Sie den aktuellen Index einer forEach-Schleife in Kotlin abrufen.

Die Kenntnis des aktuellen Index eines Elements in einer forEach-Schleife kann Ihnen helfen, die Position des Elements zu finden, das Sie finden. Dieser Artikel geht verschiedene Wege durch, um den aktuellen Index einer forEach-Schleife zu finden.

Es gibt drei verschiedene Wege, um zu bekommen, was wir wollen, und zwar:

  1. Verwendung von forEachIndexed()
  2. Verwendung von withIndex()
  3. Verwendung von Indizes

Abrufen des aktuellen Index eines Elements in einer forEach-Schleife mit forEachIndexed() in Kotlin

Wir können die Funktion forEachIndexed() verwenden, um den aktuellen Index abzurufen. Es ist eine Inline-Funktion, die ein Array als Eingabe akzeptiert.

forEachIndexed() gibt die Index-Elemente und deren Werte aus.

Die Syntax zur Verwendung der Funktion forEachIndexed() lautet wie folgt.

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

Lassen Sie uns ein Beispiel haben, um zu verstehen, wie es funktioniert. Wir erstellen ein Array Student und durchlaufen es mit forEachIndexed(), um die Indizes und Werte als Ausgabe im folgenden Beispiel zu erhalten.

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

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

Ausgabe:

Verwenden von forEachIndexed, um den aktuellen Index in Kotlin abzurufen

Den aktuellen Index eines Elements in einer forEach-Schleife mit withIndex() in Kotlin ermitteln

Neben forEachIndexed() können wir auch die Funktion withIndex() verwenden, um den aktuellen Index eines Elements in einer forEach-Schleife in Kotlin zu erhalten.

Es ist eine Bibliotheksfunktion, die den Zugriff auf Indizes und Werte über eine Schleife ermöglicht.

Wir werden wieder dasselbe Array verwenden, aber diesmal mit der Funktion withIndex(), um auf Indizes und Werte des Arrays Student zuzugreifen.

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 ")
    }
}

Ausgabe:

Verwenden von withIndex, um den aktuellen Index in Kotlin zu erhalten

Den aktuellen Index eines Elements in einer forEach-Schleife mit Indices in Kotlin ermitteln

Wir können auch das Schlüsselwort indices verwenden, um den aktuellen Index zu erhalten. Die Syntax für die Verwendung von Indizes lautet wie folgt.

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

Lassen Sie uns diese Syntax in unserem Student-Array verwenden, um auf den Index und die Werte zuzugreifen.

fun main(args : Array<String>){

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

Ausgabe:

Verwenden von Indizes, um den aktuellen Index in Kotlin zu erhalten

Ermitteln des Index eines Array-Elements mit filterIndexed() in Kotlin

Wir können den aktuellen Index mit den obigen Funktionen erhalten. Was aber, wenn wir nur auf bestimmte Indizes zugreifen möchten und nicht auf alle?

Das können wir mit der Funktion filterIndexed() tun.

Die Funktion filterIndexed() akzeptiert eine Bedingung als Argument. Basierend auf der übergebenen Bedingung kann die Funktion die Ausgabe filtern, um die erforderlichen Indizes anzuzeigen.

Lassen Sie uns die Funktion filterIndexed() verwenden, um nur auf die Werte an den geraden Indizes aus dem Array Student zuzugreifen.

fun main(args : Array<String>){

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

Ausgabe:

Verwenden von filterIndexed, um den Wert eines bestimmten Index in Kotlin abzurufen