Avatar ·

Wie entferne ich Elemente aus einer Collection in einer Schleife ohne ConcurrentModificationException in Java?

Hallo zusammen! Ich bin ein Java-Anfänger und bin auf einen sehr seltsamen Fehler gestoßen. Ich schreibe ein einfaches Programm: Ich habe eine Liste von Strings und möchte alle Elemente daraus entfernen, die mit dem Buchstaben "A" beginnen. Es scheint alles logisch, aber beim Ausführen wird eine ConcurrentModificationException geworfen. Hier ist mein Code: ```java List list = new ArrayList<>(Arrays.asList("Apple", "Banana", "Avocado", "Cherry")); for (String fruit : list) { if (fruit.startsWith("A")) { list.remove(fruit); } } ``` Der Fehler tritt bei der Iteration nach dem Entfernen auf. Ich habe gelesen, dass man eine Collection während einer for-each-Schleife nicht modifizieren darf, aber wie entferne ich dann richtig Elemente? Ich muss die ursprüngliche Liste ändern, keine neue erstellen. Könnt ihr mir bitte sagen, wie man das richtig macht? Welche Möglichkeiten gibt es?