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不起作用,我不知道如何使用迭代器,如果这是用于遍历hashset元素的方法。我想做点什么:
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
}
}
但由于重复值,我被告知要使用hashset。
答案 0 :(得分:1)
Set
根据定义没有顺序,因此不能通过get
方法像数组或列表一样编入索引。但是,您仍然可以使用for-each循环(或使用Set
方法返回的迭代器)遍历iterator()
的元素。
例如,如果我有Set
名为set
,其中包含字符串"a"
,"b"
和"c"
:
for (String s : set) {
System.out.println(s);
}
a b c
答案 1 :(得分: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
}
}
答案 2 :(得分:-1)
我想这会有所帮助
Iterator iter=hm.keySet().iterator();
while(iter.hasNext()){
String key = (String)iter.next();
if(key.equals(str)){
val1 = (String)hm.get(key);
}
}