свойство iterator
Возвращает новый Iterator, позволяющий перебирать элементы этого Iterable.
Классы Iterable могут задавать порядок перебора своих элементов (например, List всегда перебирает элементы в порядке индексов) или оставлять его неопределённым (например, основанный на хешировании Set может перебирать элементы в любом порядке).
При каждом чтении iterator возвращает новый итератор, который можно использовать для повторного перебора всех элементов. Итераторы одного и того же итерируемого объекта можно перебирать независимо друг от друга, но они должны возвращать одни и те же элементы в одном и том же порядке, пока базовая коллекция не изменяется.
Изменение коллекции может привести к тому, что новые итераторы будут возвращать другие элементы, а порядок существующих элементов может измениться. List точно задаёт порядок перебора, поэтому изменение списка предсказуемо меняет этот порядок. Основанный на хешировании Set может полностью изменить порядок перебора при добавлении нового элемента.
Изменение базовой коллекции после создания нового итератора может привести к ошибке при следующем вызове Iterator.moveNext для этого итератора. Любой изменяемый итерируемый класс должен указывать, какие операции прерывают перебор.
Реализация
RuneIterator get iterator => RuneIterator(string);
© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.19.6/dart-core/Runes/iterator.html