ich, ob würde versuchen, aus der Sammlung zu entfernen, durch sie mit der einfachen Schleife Schleife werde ich diese Ausnahme bekommen: java.util.ConcurrentModificationException
. Aber ich benutze Iterator und es erzeugt immer noch diese Ausnahme. Irgendeine Idee warum und wie man es löst?java.util.ConcurrentModificationException mit Iterator
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();
}
}
}
}
Es gibt zwei verschachtelte Iteratoren so wird es wahrscheinlich nicht das Problem lösen. – assylias
Immer noch das Gleiche. – user2219247
@assylias Das stimmt, ich habe den zweiten nicht gesehen. Ich habe eine Erklärung zu dieser Ausnahme hinzugefügt. –