Java中如果集合迭代器已经迭代完了,如果还想迭代,只能在调用一遍iterator返回一个新的吗?
答案:2 悬赏:40 手机版
解决时间 2021-02-12 05:04
- 提问者网友:美人性情
- 2021-02-11 21:19
Java中如果集合迭代器已经迭代完了,如果还想迭代,只能在调用一遍iterator返回一个新的吗?
最佳答案
- 五星知识达人网友:时间的尘埃
- 2021-02-11 21:53
2: 并且java语言没有提供重置的方法.
代码如下
import java.util.ArrayList;
import java.util.Iterator;
public class ListDemo {
public static void main(String[] args) {
ArrayList
list.add(5);
list.add(3);
list.add(2);
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 中移除迭代器返回的最后一个元素(可选操作)。
全部回答
- 1楼网友:蓝房子
- 2021-02-11 22:48
for循环是语言中循环控制结构。
而iterator则是用来遍历集合中的元素。本身是不能够循环遍历需要借助循环控制语句进行迭代元素。
个人认为iterator封装了循环体遍历元素的细节,使得编程人员无需关心集合结构,以及访问元素的操作。
例如:
for(int i=0;i
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯