出现原因:
迭代器遍历时,重复出现 iterator.next();
next(), 是返回当前元素, 并指向下一个元素.
解决办法:遍历时,只出现一次。
正确示例:
List<String> list = new ArrayList<String>();
list.add("1");
list.add("2");
list.add("3");
Iterator<String> iterator = list.iterator();
while (iterator.hasNext()) {
String str = iterator.next();//只使用一次
System.out.println(str );
System.out.println(str );
}
错误示例:
List<String> list = new ArrayList<String>();
list.add("1");
list.add("2");
list.add("3");
Iterator<String> iterator = list.iterator();
while (iterator.hasNext()) {
System.out.println(iterator.next());//第一次使用iterator.next()
System.out.println(iterator.next());//第二次使用iterator.next(),遍历到最后一个元素时,出现NoSuchElementException
}
网友评论