我知道SO上有很多类似的问题。但似乎以前没有讨论过这个问题。
一般来说,我想知道,为什么Iterator应该用于For-Each循环,如果没有元素被删除?所以,基本上只是迭代Collection
,唯一使用的修饰符是add
。
我知道如果从Iterator
删除了某个元素,则Collection
是唯一的保存选项。
性能不是参数,因为For-Each
将由编译器转换为迭代器。
Iterator
更详细,因此+1到For-Each
。
在描述的场景中,是否有可靠的点使用Iterator而不是For-Each?
答案 0 :(得分:1)
如果
,您需要使用Iterator
循环而不是foreach循环
此外,如果您希望能够根据其前一个元素的特征跳过元素,Iterator
可能更自然。
此外,对于List
s,ListIterator
循环有时可能比foreach循环更方便,因为它可以提供前一个和下一个元素的索引,并且(甚至与索引不同) )允许您识别迭代的第一个元素。此外,您需要ListIterator
if
List
,或