Библиотека dart:collection
Классы и утилиты, дополняющие поддержку коллекций в dart:core.
Чтобы использовать эту библиотеку в коде:
import 'dart:collection';
Map
Конечное отображение уникальных ключей в связанные с ними значения. Обеспечивает эффективный поиск значения, связанного с ключом, если оно есть, и перебор отдельных ключей и значений отображения. Интерфейс Map имеет несколько реализаций, в том числе следующие:
- HashMap неупорядоченный; порядок перебора не гарантируется.
- LinkedHashMap перебирает элементы в порядке добавления ключей.
- SplayTreeMap перебирает ключи в отсортированном порядке.
-
UnmodifiableMapView — это оболочка, неизменяемое представление Map другого
Map.
Set
Коллекция объектов, в которой каждый объект может встречаться только один раз. Интерфейс Set имеет несколько реализаций, в том числе следующие:
- HashSet порядок объектов при переборе не гарантируется.
- LinkedHashSet перебирает объекты в порядке добавления.
- SplayTreeSet перебирает объекты в отсортированном порядке.
-
UnmodifiableSetView — это оболочка, неизменяемое представление Set другого
Set.
Queue
Очередь — это последовательность элементов, которую предполагается изменять, добавляя или удаляя элементы только с её концов. Очереди Dart являются двусторонними, то есть к ним можно одинаково обращаться с любого конца, поэтому их можно использовать для реализации поведения как стека, так и очереди.
- Queue — общий интерфейс для очередей.
- ListQueue — очередь на основе списка. Реализация Queue по умолчанию.
- DoubleLinkedQueue — реализация очереди на основе двусвязного списка.
List
Индексируемая последовательность объектов. Доступ к объектам осуществляется по их позиции — индексу — в последовательности. В других языках программирования List также называют «массивом».
-
UnmodifiableListView — это оболочка, неизменяемое представление List другого
List.
LinkedList
LinkedList — специализированный двусвязный список элементов, расширяющих LinkedListEntry. Каждый элемент знает своё место в связанном списке, а также то, в каком списке он находится.
Классы
- DoubleLinkedQueue<
E> - Реализация Queue на основе двусвязного списка.
- DoubleLinkedQueueEntry<
E> - Элемент двусвязного списка.
- HashMap<
K, V> - Реализация Map на основе хеш-таблицы.
- HashSet<
E> - Неупорядоченная реализация Set на основе хеш-таблицы.
- HasNextIterator<
E> - Класс HasNextIterator оборачивает Iterator и предоставляет методы для перебора объекта с помощью
hasNextиnext. - IterableBase<
E> - Базовый класс для реализации Iterable.
- IterableMixin<
E> - Этот примес Iterable реализует все члены Iterable, кроме
iterator. - LinkedHashMap<
K, V> - Map с порядком вставки и ожидаемым временем поиска O(1).
- LinkedHashSet<
E> - LinkedHashSet — реализация Set на основе хеш-таблицы.
- LinkedList<
E extends LinkedListEntry< E>> - Специализированный двусвязный список элементов, расширяющих LinkedListEntry.
- LinkedListEntry<
E extends LinkedListEntry< E>> - Объект, который может быть элементом LinkedList.
- ListBase<
E> - Абстрактная реализация списка.
- ListMixin<
E> - Базовая реализация класса List.
- ListQueue<
E> - Очередь Queue на основе списка.
- MapBase<
K, V> - Базовый класс для реализации Map.
- MapMixin<
K, V> - Примес, реализующий Map.
- MapView<
K, V> - Оболочка над классом, реализующим Map, которая предоставляет доступ только к членам
Map. - Queue<
E> - Queue — это коллекция, которой можно управлять с обоих концов. Элементы очереди можно перебирать с помощью forEach или Iterator.
- SetBase<
E> - Базовая реализация Set.
- SetMixin<
E> - Реализация Set с помощью примеси.
- SplayTreeMap<
K, V> - Map объектов, которые можно упорядочить относительно друг друга.
- SplayTreeSet<
E> - Set объектов, которые можно упорядочить относительно друг друга.
- UnmodifiableListView<
E> - Неизменяемое представление List другого списка.
- UnmodifiableMapBase<
K, V> - Базовая реализация неизменяемого Map.
- UnmodifiableMapView<
K, V> - Представление Map, не допускающее изменения отображения.
- UnmodifiableSetView<
E> - Неизменяемое представление Set другого Set.
© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.19.6/dart-collection/dart-collection-library.html