13
反復中にコレクションのアイテムを削除するGroovyの方法はありますか? Javaでは、これはIterator.remove()
用いて達成される:Groovyは反復中にコレクションアイテムを削除します
Collection collection = ...
for (Iterator it=collection.iterator(); it.hasNext();) {
Object obj = it.next();
if (should remove) {
it.remove();
}
}
んGroovyは削除-しばらくは、反復その言語の構文で提供、または私はIterator.remove()
を使用しない持っていますか?
非常にクール!!! .removeAll {} –
@JarredOlsonもしあなたがGroovyを使い慣れていないなら、手動反復子ベースのループ(またはfor() 'forループ)をするのをやめてください。 'each'、' collect'、 'findAll'などのクロージャーに基づくメソッドでは、Groovyで明示的なイテレーターを使用する必要はありませんでした。それは大きな救済策でした= D –
epidemian
@epidemian私は新しいものではなく、 .removeAll {}について知りませんでした。私はちょうどそれがクールだと思っていました。私はあなたのステートメントをエコーしますが、Collectionのメソッドを使うことはclosure/Groovyに慣れるための非常に良い方法です。 –