Hallo Freunde,
ich habe folgendes Problem: Ich habe eine Liste mit allerhand Dateiobjekten darin. Nun will ich in eine neue Liste nur, die Dateiobjekte haben, deren Namen NICHT die Strings aus einer anderen Liste enthält.
Deshalb habe ich mir gedacht, dass ich einfach mit remove() die Dateiobjekte entferne, deren Namen diese Strings aus der Liste enthalten.
Der Code ist folgender:
dabei bekomme ich folgende Exception in der Zeile, in der die zweite for-Schleife anfängt:
Exception in thread "main" java.util.ConcurrentModificationException
at java.util.AbstractList$Itr.checkForComodification(Unknown Source)
at java.util.AbstractList$Itr.next(Unknown Source)
Es scheint am Remove zu liegen, denn wenn ich es lösche, dann kommt der Fehler nicht.
Kann das daran liegen, dass die for-Schleife nicht mit den gelöschten Objekt klar kommt?
Gibts vielleicht noch ne andre Möglichkeit das zu lösen?
ich habe folgendes Problem: Ich habe eine Liste mit allerhand Dateiobjekten darin. Nun will ich in eine neue Liste nur, die Dateiobjekte haben, deren Namen NICHT die Strings aus einer anderen Liste enthält.
Deshalb habe ich mir gedacht, dass ich einfach mit remove() die Dateiobjekte entferne, deren Namen diese Strings aus der Liste enthalten.
Der Code ist folgender:
Code:
String[] locations = ReadInit.liesStringsAusTextdatei("standorte.txt");
for (int zeile = 0; zeile < locations.length; zeile++)
{
String location = locations[zeile];
for (File f : files)
{
if (f.getAbsolutePath().contains(location))
{
files.remove(f);
}
}
}
dabei bekomme ich folgende Exception in der Zeile, in der die zweite for-Schleife anfängt:
Exception in thread "main" java.util.ConcurrentModificationException
at java.util.AbstractList$Itr.checkForComodification(Unknown Source)
at java.util.AbstractList$Itr.next(Unknown Source)
Es scheint am Remove zu liegen, denn wenn ich es lösche, dann kommt der Fehler nicht.
Kann das daran liegen, dass die for-Schleife nicht mit den gelöschten Objekt klar kommt?
Gibts vielleicht noch ne andre Möglichkeit das zu lösen?