iterator 属性
覆盖
创建一个新的 迭代器
,允许遍历此 可迭代对象
的元素。
可迭代类可以指定其元素的迭代顺序(例如 List 总是按索引顺序迭代),或者可以不指定(例如基于散列的 Set 可能以任何顺序迭代)。
每次读取 iterator
时,它都会返回一个新的迭代器,可以用来再次遍历所有的元素。同一个可迭代对象的迭代器可以独立地移动,但在底层集合未被修改的情况下,应该以相同的顺序返回相同的元素。
修改集合可能会使新的迭代器产生不同的元素,并可能改变现有元素的顺序。一个 List 对其迭代顺序有精确的规定,因此修改列表会以可预测的方式改变迭代顺序。一个基于散列的 Set 在向集合添加新元素时可能会完全改变其迭代顺序。
在创建新迭代器后修改底层集合可能会在下次调用该迭代器的 Iterator.moveNext 方法时导致错误。任何 可修改的 可迭代类应指定哪些操作会破坏迭代。
实现
Iterator<E> get iterator => _LinkedListIterator<E>(this);