単純なループでコレクションのループを取り除こうとしているのであれば、私はこの例外が発生するでしょう:java.util.ConcurrentModificationException
。しかし、私はIteratorを使用していますが、それでも私はこの例外を生成します。任意のアイデアなぜ、どのようにそれを解決するには?イテレータを使ったjava.util.ConcurrentModificationException
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();
}
}
}
}
それはおそらく問題は解決されませんように、2つのネストされたイテレータがあります。 – assylias
まだ同じです。 – user2219247
@assyliasそれは本当です、私は2番目を見ませんでした。この例外に関する説明を追加しました。 –