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> - 一个基于双链表的队列实现。
-
DoubleLinkedQueueEntry<
E> - 双链表中的一个条目。
-
HashMap<
K, V> - 基于哈希表的 Map 实现。
-
HashSet<
E> - 基于无序哈希表的 Set 实现。
-
HasNextIterator<
E> - 用于包装 Iterator,提供 Dart 1.0 之前的迭代器接口。
-
LinkedHashMap<
K, V> - 一个插入顺序的 Map,期望的查找时间恒定。
-
LinkedHashSet<
E> - 基于哈希表的 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> - 可以在两端进行操作的 Queue。可以通过 forEach 或 Iterator 迭代队列的元素。
-
SetBase<
E> - Set 的基本实现。
-
SplayTreeMap<
K, V> - 一个可以相对彼此排序的对象 Map。
-
SplayTreeSet<
E> - 一个可以相对彼此排序的对象 Set。
-
UnmodifiableListView<
E> - 另一个 List 的不可修改 List 视图。
-
UnmodifiableMapBase<
K, V> - 不可修改 Map 的基本实现。
-
不可修改的MapView<
K, V> - 不允许修改的 Map 视图。
-
不可修改的SetView<
E> - 另一个 Set 的不可修改 Set 视图。
扩展
-
IterableExtensions on Iterable<
T> - 迭代器的操作。
-
NullableIterableExtensions on Iterable<
T?> - 带有可空元素的迭代器的操作。