Java aus Liste während der Iteration Listenelemente löschen
Posted: Januar 21st, 2011 | Filed under: Programmieren | Tags: ArrayList, Collection, Element löschen, Iterator, Java, java.util.ConcurrentModificationException, LinkedList, List, während Iteration | 7 Comments »Oft kommt es vor dass man in Java während der Iteration über eine ArrayList oder eine LinkedList ein Element nach einem gewissen Kriterium heraus löschen will. Über die gewöhnliche Schleife for(String name : namen) geht dies jedoch nur über Umwege mit einer zweiten Hilfsliste. Löscht man Elemente während der Iteration mit obiger Schleife erhält man eine java.util.ConcurrentModificationException.
Folgende Lösung ist weitaus einfacher und effizienter. Hier wird nämlich ein Iterator verwendet und es ist möglich während der Iteration zu löschen:
import java.util.ArrayList; |
Quelltextdatei herunterladen: ListRemoveDuringITeration.java