定义了一个list,
List l = new ArrayList();
使用iterator遍历
Iterator it=l.iterator();
while (it.hasNext()) {
System.out.println(it.next());
}
这样正常,
但是不把l.iterator赋给变量,
while(l.iterator().hasNext()){
System.out.println(l.iterator().next());
}
这样就无限循环,为什么?
各位大神求赐教
java iterator遍历的问题
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
threenewbee 2016-10-03 03:32关注l.iterator().hasNext()
每次返回的是一个新的迭代器,状态都是初始的,所以每次next都是第一个元素,当然就无限循环了。解决 无用评论 打赏 举报