Ich habe eine ArrayList, über die ich iterieren möchte. Während ich darüber iteriere, muss ich gleichzeitig Elemente entfernen. Offensichtlich wirft dies eine java.util.ConcurrentModificationException
.
Was ist die beste Vorgehensweise, um dieses Problem zu lösen? Soll ich zuerst die Liste klonen?
Ich entferne die Elemente nicht in der Schleife selbst, sondern in einem anderen Teil des Codes.
Mein Code sieht folgendermaßen aus:
public class Test() {
private ArrayList<A> abc = new ArrayList<A>();
public void doStuff() {
for (A a : abc)
a.doSomething();
}
public void removeA(A a) {
abc.remove(a);
}
}
a.doSomething
könnte anrufen Test.removeA()
;