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