使用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,只移动一次指针../
}