wenn entfernt das zweite letzte Element keine ConcurrentModificationException istJava ConcurrentModificationException
List<String> myList1 = new ArrayList<String>();
Collections.addAll(myList1, "str1","str2","str3","str4","str5");
for(String element : myList1){//no ConcurrentModificationException here
if(element.equalsIgnoreCase("str4"))
myList1.remove("str4");
}
System.out.println(myList1);
Aber wenn entfernen andere Elemente eine ConcurrentModificationException ist
List<String> myList2 = new ArrayList<String>();
Collections.addAll(myList2, "str1","str2","str3","str4","str5");
for(String element : myList2){//ConcurrentModificationException here
if(element.equalsIgnoreCase("str1"))
myList2.remove("str1");
}
System.out.println(myList2);
was ist der Grund?
Bitte lesen Sie die Frage sorgfältig Jungs. – user1947415
In Ihrem ersten Stück Code gibt es auch Fehler "Ausnahme im Thread" main "java.util.ConcurrentModificationException". Sie können die gleiche Sammlung nicht aktualisieren, wenn Sie darüber iterieren. –
Warum habe ich die Ausnahme nicht bekommen? Hast du es versucht? – user1947415