可能性の重複:
ConcurrentModificationException and a HashMapjava.util.ConcurrentModificationExceptionが
次のコード
を実行しながら、私は次の例外Exception in thread "main" java.util.ConcurrentModificationException
at java.util.TreeMap$PrivateEntryIterator.nextEntry(Unknown Source)
at java.util.TreeMap$KeyIterator.next(Unknown Source)
at Types$AdjList.makeConnected(Types.java:281)
at Main.main(Main.java:56)
を取得しています
public void makeConnected() {
TreeSet<Node> exploredNodes = new TreeSet<Node>();
TreeSet<Node> unexploredNodes = new TreeSet<Node>();
for (Node n : unexploredNodes) {
...
exploredNodes.add(n);
unexploredNodes.remove(n);
...
}
私はHashMapのようなイテレータを使用していませんが、何らかの条件に基づいて拡大または縮小する可能性のあるSetを使用する必要があります。 私はすべての回答を受け入れてポイントを与えます。 ConcurrentModificationExceptionが のこの問題を解決する方法に返信する方法を楽しみにしてforループザ・おかげで、 Somnath
@assylias:しかし、TreeSetのためのiterator.removeは()がない:[OK]を、私はTreeSetの – somnathchakrabarti
@assyliasのイテレータがある参照してください。イテレータを使ってTreeSetから削除する方法を知っていますか? – somnathchakrabarti
すべてのイテレータにはremoveメソッドがあります。上のリンクの最初の答えの2番目のコードを確認し、セットでマップを置き換えます。 – assylias