【发布时间】:2011-09-01 21:01:39
【问题描述】:
编辑:感谢您的所有及时回复。现在我看到任务不会工作。从另一个线程中,我读到 Java 中的迭代器远不如 C++ 中的迭代器强大。那请问为什么在Java中使用迭代器?只是为了替换“for”循环?谢谢。
一些注意事项:
- 第二个迭代器应该从第一个迭代器后面的位置开始。
- 我尝试从头开始遍历有序列表,在列表中找到一些与 aItr 所指向的具有相似属性的对象。
我不介意使用两个“for”循环,但我知道 Java 对所有这些库都非常强大。我只是好奇是否有比两个“for”循环更好的方法。谢谢。
嗨,
我一直在使用 C++,但我是 Java 新手,所以请多多包涵。我尝试使用两个迭代器循环遍历 ArrayList。第一个迭代器遍历列表,第二个迭代器从第一个迭代器指向的位置开始,一直到列表的末尾。以下代码是我想要做的(虽然可能无效):
.......; //initialize aList here ......
Iterator aItr = aList.iterator();
while(aItr.hasNext()){
int a = aItr.next();
Iterator bItr = aItr; //-----> is it valid? Any bad consequence?
while (bItr.hasNext()){
............; //do stuff
}
}
将一个迭代器分配给另一个迭代器是否有效?如果不是,那么做我想做的最好的方法是什么?谢谢。
我知道它在 C++ 中有效,但不确定 Java,我搜索了很多,但所有结果都使用迭代器来打印一些东西。非常感谢您的帮助。
【问题讨论】:
-
第二个迭代器在创建后应该指向哪里——在第一个位置还是在第一个点位置之后?
-
正如下面提到的,这不会做你想做的事。也许您可以分享您的目标,以便找到更好的方法?
-
yock:谢谢。我编辑帖子以描述我真正想做的事情。