java.util.ConcurrentModificationException?

1 Antwort

Von einem Experten bestätigt

Wie hier beschrieben ist, darf man eine ArrayList nicht verändern, während man einen Iterator auf dieser verwenden (gilt auch für for each Schleifen): https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html

Falls du nur das aktuelle Element ggf. entfernen willst, geht das mit einem Iterator:

Iterator<Ball> it = balls.iterator();
while (it.hasNext()) {
    Ball ball = it.next();
    it.remove(); // Aktuelles Element entfernen
}

Ansonsten kann man auch über die Indizes der Liste iterieren, dabei gibt es keine Einschränkungen. Man muss aber den Index anpassen, wenn man vorherige Elemente löscht.