Chr*_*ris 9 java collections iterator arraylist
如果我为myList设置了一个迭代器:
Iterator iter = myList.iterator();
while(iter.hasNext())
{
MyObj myObj = (MyObj)iter.next();
doPrint(myObj.toString());
}
Run Code Online (Sandbox Code Playgroud)
我称之为第二次:
while(iter.hasNext())
{
MyObj myObj = (MyObj)iter.next();
doPrint(myObj.toString());
}
Run Code Online (Sandbox Code Playgroud)
我第二次打电话给它时会回到收藏的开头吗?
Boz*_*zho 34
iter.hasNext()在第二个循环中将false立即返回,因此循环内的代码将不会被执行.
但是,如果重新创建迭代器(by list.iterator()),迭代将从头重新开始.
And*_*s_D 11
迭代器接口只提供三种方法:
所以没有办法告诉迭代器"重置","从头重启"或"返回".一旦它位于底层序列的最后一个元素上,就完成了它的工作,并且不需要保留引用.Whisper RIP并使其符合Big GC.
| 归档时间: |
|
| 查看次数: |
9236 次 |
| 最近记录: |