PriorityQueue<Integer> queue = new PriorityQueue<Integer>(4);
queue.add(8);
queue.add(5);
queue.add(23);
queue.add(6);
for(int i:queue)
System.out.println(queue.remove());
上記のコードは ConcurrentModificationException をスローします。プライオリティ キューを変更するスレッドは見当たりません。非同期コレクションでもあることは理解しています。Oracle Java SDK 6.0 で Ubuntu 12.10 を実行しています。
この問題は非常に興味深いようです。誰か説明してもらえますか?それは欠陥ですか?