リンクされたハッシュセットから要素を削除するさまざまな方法を知りたいです。次のコードを試しました
LinkedHashSet<String> lhs = new LinkedHashSet<String>();
for(int i=0;i<10;i++)
lhs.add(String.valueOf(i));
Iterator<String> it=lhs.iterator();
System.out.println("removed?=="+lhs.remove("1"));
while(it.hasNext())
{
System.out.println("lhs"+it.next());
}
私は次の出力を得ました
removed?==true
Exception in thread "main" java.util.ConcurrentModificationException
at java.util.LinkedHashMap$LinkedHashIterator.nextEntry(Unknown Source)
at java.util.LinkedHashMap$KeyIterator.next(Unknown Source)
at preac.chapter1.Start.main(Start.java:321)
何が恋しい?前もって感謝します。
PS iterator.remove() メソッドも試しましたが、 Illegal State Exception が発生しました
編集
イテレータ削除メソッドを使用する必要があることを知りました。では、Link Hash Set remove メソッドの使用とは何ですか? どのような場合にこの方法を使用する必要がありますか?