双 iterator迭代问题

两个一起迭代遍历的次数不是 两个集合大小相乘的数量 而是只有里面一个几个大小的数量。
Iterator it=set.iterator();
Iterator it1=set1.iterator();
int i=0;
while(it.hashnext()){
while(it.hashnext){
i++;
}
}
System.out.println(i);

打印i的值是 set1.size();
这是为什么呢?怎么用游标实现像for循环一样呢

3个回答

晕 刚才会打错了 因为你的
while(it1.hashnext){
i++;
}已经把里面那层的迭代完毕了 it1中已经没有后东西了 所以第二次循环it1不会进入循环了 呵呵

while(it.hashnext()){
while(it.hashnext){
i++;
}
}
你两个用的都是it呀 呵呵

[color=blue]

答案对呀,

外层的第一次,内层循环了set1.size()次,i=set1.size();

外层的第二次,内层的it1.hashnext()就是false了,i就不会继续加了
[/color]

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问