编辑:感谢您的及时回复。现在我明白这个任务行不通。从另一个线程中,我了解到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是否也是如此,并且我搜索了很多,但所有结果都只是使用迭代器来打印一些东西。非常感谢您的帮助。