Entfernen Sie Elemente aus der Sammlung, während Sie iterieren
AFAIK gibt es zwei Ansätze:
Durchlaufen Sie eine Kopie der SammlungVerwenden Sie den Iterator der aktuellen SammlungZum Beispiel,
<code>List<Foo> fooListCopy = new ArrayList<Foo>(fooList); for(Foo foo : fooListCopy){ // modify actual fooList } </code>
und
<code>Iterator<Foo> itr = fooList.iterator(); while(itr.hasNext()){ // modify actual fooList using itr.remove() } </code>
Gibt es Gründe, einen Ansatz dem anderen vorzuziehen (z. B. den ersten aus Gründen der Lesbarkeit vorzuziehen)?