Spec-Zone.ru › Dart 2

dart:collection

Свойство iterator

Iterator<E> iterator
override

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

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

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

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

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

Реализация

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

© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.18.5/dart-collection/LinkedList/iterator.html

Spec-Zone.ru

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