展开全部
答: 是的62616964757a686964616fe4b893e5b19e31333365633937,需要重新调用.iterator()方法,放回1个新的迭代器.原因: 1: 因为迭代器使用完了,里面也就没有元素了,
2: 并且java语言没有提供重置的方法.
代码如下import java.util.ArrayList;
import java.util.Iterator;
public class ListDemo {
public static void main(String[] args) {
ArrayList list = new ArrayList();
list.add(5);
list.add(3);
list.add(2);
Iterator it = list.iterator();
while (it.hasNext()) {
System.out.println(it.next());
}
System.out.println(it.hasNext());// false 表示没有元素了
//System.out.println(it.next());//会抛出异常 NoSuchElementException
it = list.iterator(); //从集合里重新获得迭代器
}
}
拓展思考:
对于此类问题,往往是对java类不太熟悉, 可以经常使用java api文档, 查看文档,你会快速了解到某个类的方法有哪些, 继承了哪些接口等情况,
比如Iterator类的方法说明如下
方法摘要
boolean hasNext()
如果仍有元素可以迭代,则返回 true。
E next()
返回迭代的下一个元素。
void remove()
从迭代器指向的 collection 中移除迭代器返回的最后一个元素(可选操作)。