Ich habe in meinem Programm eine Liste von Objekten, konkret eine ArrayList. Innerhalb eines Threads wird die Liste immer wieder mit einem Iterator durchlaufen, manchmal werden auch Elemente entfernt. Nun ist neu hinzu gekommen, dass über Benutzereingaben (MouseListener) zur Liste neue Elemente hinzugefügt werden können.
Jetzt tritt manchmal beim Durchlaufen der Liste eine java.util.ConcurrentModificationException auf.
1. Ist das so, weil die ArrayList nicht threadsafe ist?
2. Verhindere ich dieses Problem endgültig durch Benutzung von von Vector anstelle der ArrayList?
Jetzt tritt manchmal beim Durchlaufen der Liste eine java.util.ConcurrentModificationException auf.
1. Ist das so, weil die ArrayList nicht threadsafe ist?
2. Verhindere ich dieses Problem endgültig durch Benutzung von von Vector anstelle der ArrayList?