Spec-Zone.ru › Dart 2

dart:core

Свойство iterator

RuneIterator iterator
override

Возвращает новый Iterator, который позволяет итерировать элементы этого Iterable.

Классы Iterable могут определять порядок итерации своих элементов (например, List всегда итерируется в порядке индексов), или они могут оставить его неопределённым (например, хеш-базированное Set может итерироваться в любом порядке).

Каждый раз, когда iterator считывается, он возвращает новый итератор, который можно использовать для повторной итерации по всем элементам. Итераторы одного и того же iterable могут перемещаться независимо, но должны возвращать одни и те же элементы в том же порядке, пока не будет изменено основное хранилище.

Изменение коллекции может привести к тому, что новые итераторы будут генерировать разные элементы и могут изменить порядок существующих элементов. List точно определяет порядок итерации, поэтому изменение списка предсказуемо изменяет порядок итерации. Хеш-базированное Set может полностью изменить порядок итерации при добавлении нового элемента в множество.

Изменение базовой коллекции после создания нового итератора может вызвать ошибку при следующем вызове Iterator.moveNext для этого итератора. Любой изменяемый класс iterable должен указывать, какие операции прервут итерацию.

Реализация

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.18.5/dart-core/Runes/iterator.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API