0
HashSet<String> noDuplicate = new HashSet<String>();
for(int i=0;i<strings.length;i++)
{
     for(int a=0;a<strings2.length;a++)
     {
         if(noDuplicate.get(i).equals(strings2[a]))
             //blahblah code here
     }
}

但是 get 不起作用,如果这是用于遍历哈希集元素的方法,我不确定如何使用迭代器。我想做类似的事情:

for(int i=0;i<strings.length;i++)
{
     for(int a=0;a<strings2.length;a=a+2)
     {
         if(node_marked_array.get(i).equals(strings2[a]))
             //blahblah code here
     }
}

但由于重复值,我被告知要使用哈希集。

4

3 回答 3

1

Sets 根据定义没有顺序,因此不能像数组或列表一样通过get方法索引。但是,您仍然可以Set使用for-each循环(或使用方法返回的迭代器iterator())遍历 a 的元素。

例如,如果我有一个包含字符串的Set调用,并且:set"a""b""c"

for (String s : set) {
    System.out.println(s);
}
一个
b
C
于 2012-12-04T20:25:27.010 回答
1

改用HashSet#contains

HashSet<String> noDuplicate = new HashSet<String>();
for(int i=0;i<strings.length;i++){
    for(int a=0;a<strings2.length;a++){
         if(noDuplicate.contains(strings2[a]))
         //blahblah code here
    }
}
于 2012-12-04T20:25:30.590 回答
-1

我想这会有所帮助

    Iterator iter=hm.keySet().iterator();
           while(iter.hasNext()){ 
              String key = (String)iter.next();
             if(key.equals(str)){
                  val1 = (String)hm.get(key);
               }
           }
于 2013-08-22T09:58:43.267 回答