假设我正在遍历java中的一个集合,在java中多次使用同一集合上的迭代器
Iterator<_someObject_> it = _someObject_.iterator();
好吧,首先我想通过集合中的每个对象并对每个访问的对象进行更改。于是我就用:
while(it.hasNext()) {
_someObject_ = it.next();
_someObject_.add3(); //made up method
}
现在,我已经做到了这一点,我决定我想通过从开始整组迭代完成一次开展对他们的另一种方法,因为我刚刚做通过我的第一次迭代更改每个元素。
我能再使用
while(it.hasNext())
?
我想也许迭代器有一个指针,所以一旦它达到第一次运行的最后一个元素,如果我再次调用while(it.hasNext())
,指针仍然会在该集合的末尾,这意味着我的第二个while循环将会是无意义。
你为什么不写一个简单的测试,你可以感觉到自己是否能正常工作的满意度。 – Buhb 2011-05-01 14:18:40