Comment puis-je faire une boucle par un liste et supprimer un élément dans groovy?
Je suis à essayer de comprendre comment faire pour supprimer un élément d'une liste en groovy, à partir de l'intérieur d'une boucle.
static main(args) {
def list1 = [1, 2, 3, 4]
for(num in list1){
if(num == 2)
list1.remove(num)
}
println(list1)
}
- Juste pour clarifier. Je sais que je n'ai pas besoin de la boucle, mais cela démontre ce que j'essaie de le faire sans mettre un tas de logique supplémentaire dans l'exemple.
Vous devez vous connecter pour publier un commentaire.
Si vous souhaitez supprimer l'élément avec indice 2, vous pouvez le faire
Si vous souhaitez supprimer le (premier) point avec valeur 2, vous pouvez le faire
i = my.object.here.iterator()
ne fonctionne tout simplement pasIterable
interface ou a uniterator()
méthode.Devrait vous donner toutes les mais les 2
Bien sûr, vous pouvez avoir une raison pour laquelle la boucle?
Comme vous le dites dans votre commentaire que vous n'avez pas spécialement besoin d'une boucle .... Si vous êtes heureux de modifier l'original de votre liste, vous pouvez utiliser
removeAll
:Je pense que vous pouvez faire:
ou...
Il n'y a pas de boucle.
Si vous souhaitez utiliser une boucle je suppose que vous pourriez regarder à l'aide de l'itérateur de réellement supprimer l'élément.
mais je ne vois pas pourquoi vous voulez le faire de cette façon.