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