Comment faire pour obtenir l'indice actuel pour chaque Kotlin
Comment puis-je obtenir l'indice d'une boucle for each...
Je veux imprimer des numéros pour chaque seconde itération
Par exemple
for(value in collection) {
if(iteration_no % 2) {
//do something
}
}
En java, nous avons le traditionnel pour la boucle
for(int i=0; i< collection.length; i++)
Comment faire pour obtenir l'-je?
voir aussi stackoverflow.com/questions/46825787/...
OriginalL'auteur Audi | 2018-02-21
Vous devez vous connecter pour publier un commentaire.
En plus sur les solutions fournies par @Audi, il y a aussi
forEachIndexed
:Bien que celui-ci ne fonctionnera que sur les collections...
Il fonctionne sur les Tableaux et Iterables, quoi d'autre avez-vous besoin de travailler?
Désolé confondre avec primitifs de java les tableaux.
Un moyen d'utiliser
break
à l'intérieur ?OriginalL'auteur zsmb13
Utilisation
indices
Si vous voulez de la valeur, ainsi que l'indice d'Utilisation
withIndex()
Référence: Flux de contrôle dans kotlin
Je pense que ce qui répond le mieux parce que n'avez pas besoin d'apprendre quelque chose d'autre, juste de la simple boucle for +1
Ce doit être la accepté de répondre à
OriginalL'auteur Audi
Il semble que ce que vous êtes vraiment la recherche est
filterIndexed
Par exemple:
Résultat:
.forEach(::println)
est l'aide de références de fonction style préféré dans de telles situations? Je suis nouveau sur Kotlin, donc je suis toujours en pensant ça.
J'ai tendance à utiliser des références de fonction dès que possible. Lorsque vous avez plus d'un paramètre, vous enregistrez un groupe de personnages par rapport à l'utilisation d'un lambda. Mais c'est une question de goût bien sûr.
Je vois, Merci.
OriginalL'auteur Akavall
essayez ceci; pour la boucle
OriginalL'auteur alicanozkara
Les plages également conduire à un code lisible dans de telles situations:
(0..collection.lastIndex step 2)
OriginalL'auteur s1m0nw1
Alternativement, vous pouvez utiliser le
withIndex
fonction de bibliothèque:OriginalL'auteur Anoop M
Vous pouvez utiliser :
0..collection.length
est égal àcollection.indices
Je ne suis pas sûr de l'endroit où vous obtenez
.length
de. Autant que je sache, c'est uniquement pour les chaînes. En dehors de cela, cet index out of bounds sur la version finale.OriginalL'auteur willy wijaya