iterator 属性
override
返回一个新的 Iterator
,该迭代器允许迭代此 Iterable
的元素。
可迭代类可以指定其元素的迭代顺序(例如,List 总是按照索引顺序迭代),或者可能不指定(例如,基于哈希的 Set 可能以任何顺序迭代)。
每次读取 iterator
时,它都会返回一个新的迭代器,该迭代器可以用来再次迭代所有元素。同一可迭代的迭代器可以独立进行遍历,但只要底层集合没有改变,就应按相同的顺序返回相同的元素。
修改集合可能会导致新的迭代器产生不同的元素,并可能改变现有元素的顺序。一个 List 指定了其迭代顺序的精确性,因此修改列表会以可预测的方式更改迭代顺序。基于哈希的 Set 在向集合添加新元素时可能会完全更改其迭代顺序。
在创建新迭代器后修改底层集合可能会在下次调用该迭代器的 Iterator.moveNext 时导致错误。任何 可修改 的可迭代类应指定哪些操作会破坏迭代。
实现
_DoubleLinkedQueueIterator<E> get iterator {
return _DoubleLinkedQueueIterator<E>(this);
}