Wie der aktuelle index in für jede Kotlin
Wie bekomme ich den index einer for each-Schleife...
Ich drucken möchten, zahlen für jedes zweite iteration
Beispielsweise
for(value in collection) {
if(iteration_no % 2) {
//do something
}
}
In java haben wir die traditionelle for-Schleife
for(int i=0; i< collection.length; i++)
Wie man die i?
siehe auch stackoverflow.com/questions/46825787/...
InformationsquelleAutor Audi | 2018-02-21
Du musst angemeldet sein, um einen Kommentar abzugeben.
Zusätzlich zu den Lösungen von @Audi, es gibt auch
forEachIndexed
:Obwohl dies funktioniert nur auf Sammlungen...
Es arbeitet auf Arrays und Iterables, was Sie tun müssen, es auf der Arbeit?
Sorry verwechselt mit primitiven java-arrays.
Irgendeiner Weise zu verwenden
break
im inneren ?InformationsquelleAutor zsmb13
Verwenden
indices
Wenn Sie möchten, Wert sowie als index Verwenden
withIndex()
Referenz: Control-flow in kotlin
Ich denke, diese Antwort ist besser, weil nicht die Bedürfnisse, etwas anderes zu lernen, nur die einfache for-Schleife +1
Dies sollte die akzeptierte Antwort
InformationsquelleAutor Audi
Es scheint, dass das, was Sie wirklich suchen für ist
filterIndexed
Beispiel:
Ergebnis:
.forEach(::println)
ist mit der Funktion Referenzen bevorzugter Stil in Situationen wie dieser? Ich bin neu in Kotlin, also ich bin immer noch herauszufinden, dieses Zeug aus.
Ich Neige dazu, verwenden Sie die Funktion Referenzen, Wann immer möglich. Wenn Sie mehr als einen parameter an, speichern Sie ein Bündel von Zeichen im Vergleich zu der Verwendung eines lambda. Aber es ist eine Frage des Geschmacks, sicher.
Ich sehe, Danke.
InformationsquelleAutor Akavall
versuchen Sie dieses; for-Schleife
InformationsquelleAutor alicanozkara
Reicht auch dazu führen, lesbaren code in solchen Situationen:
(0..collection.lastIndex step 2)
InformationsquelleAutor s1m0nw1
Alternativ können Sie die
withIndex
- Bibliothek Funktion:InformationsquelleAutor Anoop M
Können Sie verwenden :
0..collection.length
gleichcollection.indices
Ich bin mir nicht sicher, wo Sie bekommen
.length
aus. AFAIK, das ist nur für Streicher. Abgesehen davon, dass diese Indizes außerhalb der Grenzen auf die Letzte iteration.InformationsquelleAutor willy wijaya