迭代属性

迭代器<E> iterator

一个新 迭代器,允许迭代此 可迭代 的元素。

可迭代类可以指定其元素的迭代顺序(例如 List 总是按索引顺序迭代),或者可以不指定(例如基于哈希的 Set 可以按任何顺序迭代)。

每次读取 迭代器 时,它返回一个新的迭代器,可以用来再次遍历所有元素。同一可迭代的不同迭代器可以独立地前进,但只要基础集合没有改变,它们应该以相同的顺序返回相同的元素。

修改集合可能会导致新的迭代器产生不同的元素,并可能改变现有元素的顺序。一个 List 明确指定了其迭代顺序,因此修改列表可以预测地改变迭代顺序。基于哈希的 Set 在向集合添加新元素时可能会完全改变其迭代顺序。

在创建新迭代器之后修改基础集合可能会导致在下一次在迭代器上调用 Iterator.moveNext 时发生错误。任何 可修改的 可迭代类应指定哪些操作会中断迭代。

实现

Iterator<E> get iterator => _ListQueueIterator<E>(this);