如何比较Hashtable中的值?

时间:2014-02-04 06:32:36

标签: java hashtable

我想比较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是否具有相同的元素。 我该怎么做? 谢谢。

1 个答案:

答案 0 :(得分:1)

您的问题就是您在if内“做”的问题 ConcurrentModification 表示您正在尝试通过foreach循环遍历值时更改HashSet。这是不允许的

也许您应该考虑使用ArrayList而不是Hashtable(取决于您的其余代码......)

在这种情况下,您可以记住“配对”,并在以后做任何您想做的事情。