我的代碼拋出如下異常:在JDK6.0或其他庫中是否有任何併發LinkedHashSet?
java.util.ConcurrentModificationException
at java.util.LinkedList$ListItr.checkForComodification(LinkedList.java:761)
at java.util.LinkedList$ListItr.next(LinkedList.java:696)
at java.util.AbstractCollection.addAll(AbstractCollection.java:305)
at java.util.LinkedHashSet.<init>(LinkedHashSet.java:152)
...
我想ConcurrentLinkedHashSet
修復它,
但我只在java.util.concurrent
發現ConcurrentSkipListSet
,這是TreeSet
,不LinkedHashSet
任何easies方式來獲得在JDK6.0中使用ConcurrentLinkedHashSet
?
感謝您的幫助:)
你想添加或刪除元素,同時遍歷說相關的哈希集?該解決方案可能不是使用併發集合,而是使用迭代器在中間循環中執行修改 –
我在此處獲得了'ConcurrentLinkedHashSet':http://artemis.ms.mff.cuni.cz/viewvc/pogamut/trunk/project/Core/src/cz/cuni/amis/utils/sets /?pathrev = 2475 :) – Koerr
我並不是說你無法獲得ConcurrentLinkedHashSet,但你的問題可能來自修改你的linkedhashset in一個循環,如果是這樣的話,使用linkedhashset中的迭代器將是一個更合適的解決方案。除非程序中涉及線程,否則不應該需要併發鏈接哈希集合。 –