Библиотека dart:collection
Классы и утилиты, которые дополняют поддержку коллекций в dart:core.
Чтобы использовать эту библиотеку в вашем коде:
import 'dart:collection';
Map
Конечное отображение уникальных ключей на соответствующие значения. Позволяет эффективно искать значение, связанное с ключом, если таковое имеется, и итерировать по отдельным ключам и значениям карты. Интерфейс Map имеет ряд реализаций, включая следующие:
- HashMap неупорядоченная, порядок итерации не гарантируется.
- LinkedHashMap итерирует в порядке вставки ключей.
- SplayTreeMap итерирует ключи в отсортированном порядке.
-
UnmodifiableMapView — это обертка, неизменяемый вид Map другой
Map.
Множество
Коллекция объектов, в которой каждый объект может встречаться только один раз. Интерфейс Set имеет ряд реализаций, включая следующие:
- HashSet порядок объектов при итерации не гарантируется.
- LinkedHashSet итерирует объекты в порядке вставки.
- SplayTreeSet итерирует объекты в отсортированном порядке.
-
UnmodifiableSetView — это обертка, неизменяемый вид Set другой
Set.
Очередь
Очередь — это последовательность элементов, которая предназначена для изменения, путем добавления или удаления элементов, только с концов. Очереди Dart являются двусторонними очередями, что означает, что к ним можно получить доступ с обеих концов, и, следовательно, они могут быть использованы для реализации как стека, так и очереди.
- Queue — это общий интерфейс для очередей.
- ListQueue — это очередь на основе списка. Реализация по умолчанию для Queue.
- DoubleLinkedQueue — это реализация очереди на основе двусвязного списка.
Список
Индексируемая последовательность объектов. Объекты могут быть доступны с использованием их позиции, индекса в последовательности. List также называется "массивом" в других языках программирования.
-
UnmodifiableListView — это обертка, неизменяемый вид List другой
List.
Связанный список
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 с упорядочением по вставке, ожидается постоянное время поиска.
- LinkedHashSet<
E> - LinkedHashSet — это реализация Set на основе хэш-таблицы.
- LinkedList<
E extends LinkedListEntry< E>> - Специализированный двусвязный список элементов, расширяющий LinkedListEntry.
- LinkedListEntry<
E extends LinkedListEntry< E>> - Объект, который может быть элементом в LinkedList.
- ListBase<
E> - Абстрактная реализация списка.
- ListMixin<
E> - Базовая реализация класса List.
- ListQueue<
E> - Очередь на основе списка.
- MapBase<
K, V> - Базовый класс для реализации Map.
- MapMixin<
K, V> - Миксин, реализующий Map.
- MapView<
K, V> - Обёртка вокруг класса, реализующего Map, которая экспонирует только
Mapчлены. - Queue<
E> - Очередь — это коллекция, которую можно изменять с обоих концов. Можно перебирать элементы очереди с помощью 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.18.5/dart-collection/dart-collection-library.html