使用iterator迭代器遇到的问题
出现的问题
Set<String> all = Set.of("Hello", "world","sina","sohu");
Iterator<String> iter = all.iterator();
while (iter.hasNext()) {
String string = iter.next();
String string1 = iter.next();
System.out.println(string,string1);
}
这里出现的问题就是使用了两次next,导致的后果就是指针移动了两次,然后最后一次的时候,while判断中的hasNext()返回的就是false,导致少遍历一次。
正确做法
Set<String> all = Set.of("Hello", "world","sina","sohu");
Iterator<String> iter = all.iterator();
while (iter.hasNext()) {
Struing next =iter.next();
/...使用这个next,只移动一次指针../
}
本文探讨了在Java中使用Iterator迭代器进行集合遍历时,连续调用两次next方法导致的指针移动问题,解释了为何会导致遍历次数减少,并提供正确的遍历方式。
3105

被折叠的 条评论
为什么被折叠?



