Czy istnieje sposób Groovy usuwania elementu kolekcji podczas iteracji? W Javie jest to realizowane za pomocą Iterator.remove()
:Groovy usuwa element kolekcji podczas iterowania
Collection collection = ...
for (Iterator it=collection.iterator(); it.hasNext();) {
Object obj = it.next();
if (should remove) {
it.remove();
}
}
Czy Groovy zapewnić remove-while-iteracji w składni języka, czy muszę używać Iterator.remove()
?
Bardzo fajnie !!! Nie wiedziałem o .removeAll {} –
@JarredOlson Jeśli jesteś nowy w Groovy, sugeruję powstrzymanie się od wykonywania pętli opartych na iteratorach (lub 'for ()' for loops). Z metodami opartymi na zamknięciu, takimi jak 'each',' collect', 'findAll', itp. Nigdy nie miałem potrzeby używać explicite iteratorów w Groovy, i to była wielka ulga = D –
epidemian
@epidemian Nie jestem nowy, po prostu nie wiedziałem o .removeAll {} i po prostu pomyślałem, że to było fajne :) Chciałbym powtórzyć twoje stwierdzenia, chociaż używając metod z kolekcji to bardzo dobre sposoby na poznanie zamknięć/Groovy. –