出現(xiàn)原因:
??迭代器遍歷時,重復(fù)出現(xiàn) iterator.next();
next(), 是返回當(dāng)前元素, 并指向下一個元素.
解決辦法:遍歷時,只出現(xiàn)一次。
正確示例:
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(),遍歷到最后一個元素時,出現(xiàn)NoSuchElementException
}