我有一個將字節映射到字節集的映射。我想穿過地圖並對設置進行更改。如何迭代(並進行更改)作爲另一個集合的值的集合
private HashMap<Byte, HashSet<Byte>> table;
...
Iterator<Entry<Byte, HashSet<Byte>>> it = table.entrySet().iterator();
while(it.hasNext()) {
Map.Entry<Byte, HashSet<Byte>> pairs = it.next();
byte node = pairs.getKey();
HashSet<Byte> hSet = pairs.getValue();
Iterator<Byte> setIter = hSet.iterator();
while(setIter.hasNext()) {
byte sNode = setIter.next(); // Throws a ConcurrentModificationException
...
}
}
當我嘗試迭代子迭代器時,此代碼拋出ConcurrentModificationException。我應該怎樣做才能在我的地圖中迭代並更改此集合?
什麼類型你想改變什麼? –
使用[Guava'HashMultimap'](http://docs.guava-libraries.googlecode.com/git-history/release/javadoc/com/google/common/collect/HashMultimap.html)可能會更好。 –
嘗試模擬你的問題。但代碼對我來說工作得很好。你可以發佈任何額外的細節? – Renjith