Hallo,
Ich versuche mal, mein Problem ganz einfach zu erläutern.
Ich möchte aus einer List gleiche Einträge raussuchen.
Das heißt, ich nehme den ersten Eintrag und suche alle gleichen Einträge.
Da ich die ja nur einmal haben möchte, lösche ich sie dann aus der Liste.
Ich dachte, dass die foreach-Schleife (heißt die auch so in Java?) dann so "schlau" ist und einfach zum nächsten noch vorhandenen Eintrag in der Liste geht, aber so gehts anscheinend nicht.
Hier mein Code:
Exception:
Exception in thread "main" java.util.ConcurrentModificationException
at java.util.AbstractList$Itr.checkForComodification(Unknown Source)
at java.util.AbstractList$Itr.next(Unknown Source)
Die Exception kommt, wenn er das 2. Mal zum ersten for kommt.
Ich versuche mal, mein Problem ganz einfach zu erläutern.
Ich möchte aus einer List gleiche Einträge raussuchen.
Das heißt, ich nehme den ersten Eintrag und suche alle gleichen Einträge.
Da ich die ja nur einmal haben möchte, lösche ich sie dann aus der Liste.
Ich dachte, dass die foreach-Schleife (heißt die auch so in Java?) dann so "schlau" ist und einfach zum nächsten noch vorhandenen Eintrag in der Liste geht, aber so gehts anscheinend nicht.
Hier mein Code:
Code:
public static void main(String... args) {
List<String> list = new ArrayList<String>();
List<String> remove = new ArrayList<String>();
list.add("Hallo1");
list.add("Hallo1");
list.add("Hallo2");
list.add("Hallo3");
list.add("Hallo4");
list.add("Hallo5");
for (String erster : list){
remove.clear();
for (String zweiter : list){
if (erster.equals(zweiter)){
remove.add(zweiter);
}
}
list.removeAll(remove);
}
}
Exception:
Exception in thread "main" java.util.ConcurrentModificationException
at java.util.AbstractList$Itr.checkForComodification(Unknown Source)
at java.util.AbstractList$Itr.next(Unknown Source)
Die Exception kommt, wenn er das 2. Mal zum ersten for kommt.