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> - Iterator 的包装器,提供了 Dart 1.0 之前迭代器的接口。
-
LinkedHashMap<
K, V> - 预期具有常量查找时间的插入顺序的 Map。
-
LinkedHashSet<
E> - LinkedHashSet 是基于哈希表实现的 Set。
-
LinkedList<
E extends LinkedListEntry< E> > - 一种特殊的双链表元素,扩展了 LinkedListEntry。
-
LinkedListEntry<
E extends LinkedListEntry< E> > - 可以是一个 LinkedList 元素的对象。
-
ListBase<
E> - 列表的抽象实现。
-
ListQueue<
E> - 基于列表的 Queue。
-
MapBase<
K, V> - 实现 Map 的基类。
-
MapView<
K, V> - 一个实现 Map 的类的包装器,仅暴露
Map
成员。 -
Queue<
E> - 队列是一个可以在两端进行操作的集合。可以通过 forEach 或 Iterator 迭代队列的元素。
-
SetBase<
E> - Set 的基本实现。
-
SplayTreeMap<
K, V> - 可以相对于彼此排序的对象的 Map。
-
SplayTreeSet<
E> - 可以相对于彼此排序的对象的 Set。
-
UnmodifiableListView<
E> - 另一个 List 的不可修改的 List 视图。
-
UnmodifiableMapBase<
K, V> - 不可修改 Map 的基本实现。
-
UnmodifiableMapView<
K, V> - 不允许修改 Map 的视图。
-
UnmodifiableSetView<
E> - 另一个 Set 的不可修改的 Set 视图。
扩展
-
IterableExtensions on Iterable<
T> - 对可迭代对象的操作。
-
NullableIterableExtensions on Iterable<
T?> - 对具有可空元素的可迭代对象的操作。