java.util.ConcurrentModificationException mit Iterator

Ich wissen, ob würde versuchen, zu entfernen aus der Sammlung Durchlaufen es mit der einfachen Schleife, werde ich immer diese exception: java.util.ConcurrentModificationException. Aber ich bin mit Iterator und es immer noch erzeugt mir diese Ausnahme. Jede Idee, warum und wie es zu lösen?

HashSet<TableRecord> tableRecords = new HashSet<>();

...

    for (Iterator<TableRecord> iterator = tableRecords.iterator(); iterator.hasNext(); ) {
        TableRecord record = iterator.next();
        if (record.getDependency() == null) {
            for (Iterator<TableRecord> dependencyIt = tableRecords.iterator(); dependencyIt.hasNext(); ) {
                TableRecord dependency = dependencyIt.next(); //Here is the line which throws this exception
                if (dependency.getDependency() != null && dependency.getDependency().getId().equals(record.getId())) {
                    iterator.remove();
                }
            }
        }
    }

InformationsquelleAutor der Frage user2219247 | 2013-06-06

Schreibe einen Kommentar