我想比较Hashtable的值:
Hashset ht = new Hashtable<Integer, Hashset>();
for (Integer i: ht.keySet()) {
for (Integer j: ht.keySet()){
if(ht.get(i).contain(ht.get(j)))
{
//do something
}
}
}
我使用了这段代码,第二次循环得到了错误java.util.ConcurrentModificationException
。我想检查我的hashatable中的hashsets是否具有相同的元素。
我该怎么做?
谢谢。
答案 0 :(得分:1)
您的问题就是您在if
内“做”的问题
ConcurrentModification 表示您正在尝试通过foreach循环遍历值时更改HashSet
。这是不允许的
也许您应该考虑使用ArrayList
而不是Hashtable
(取决于您的其余代码......)
在这种情况下,您可以记住“配对”,并在以后做任何您想做的事情。