主题
Set
Sets
一个无序的,元素唯一的集合
因为一个 set 是无序的,所以无法通过下标(位置)获取 set 中的元素
基本定义
dart
var set = <String>{};
构造 API
Set()
- 构造一个空 Set
Set.from(Iterable elements)
- 创建一个包含所有元素的 Set
Set.of(Iterable elements)
- 创建一个包含所有元素的 Set
属性
first
- 返回 Set 第一项
isEmpty
- 返回 Set 是否为空
isNotEmpty
- 返回 Set 是否不为空
last
- 返回 Set 最后一项
length
- 返回 Set 长度
reversed
- 返回翻转后的 Set
single
- 返回 Set 是否只有一项
方法
add(E value) → void
- 将值添加到此 Set 的末尾,将长度延长一
addAll(Iterable<E> iterable ) → void
- 将 iterable 的所有对象附加到此Set的末尾
dartvar arr = [1, 2]; arr.addAll([3, 4]); // [1, 2, 3, 4]
any(bool test(E element)) → bool
- 是否所有的元素都满足条件
clear() → void
- 将 Set 清空
contains(Object? element) → bool
- Set 是否包含等于 element 的元素
containsAll((Iterable<E> iterable) → bool
- Set 是否包含其他所有元素
elementAt(int index) → E
- 返回下标为 index 的元素
every(bool test(E element)) → bool
- 检查此迭代的每个元素是否满足测试
dartarr.every((e) => e == 1));
firstWhere(bool test(E element)) → E
- 返回满足条件的第一个元素
forEach(void action(E element)) → void
- 循环 Set
join([String separator = ""]) → String
- 将每个元素转换为字符串并连接字符串
lastWhere(bool test(E element)) → E
- 返回满足条件的最后一个元素
lookup(Object? object) → E
- 如果 Set 中存在等于 object 的对象,则返回它
map<T>(T toElement(E e)) → Iterable<T>
- 根据 Set 返回一个新 Set
reduce(E combine(E value, E element)) → E
- 通过使用提供的函数迭代组合集合的元素,将集合减少到单个值
remove(Object? value) → bool
- 删除一个元素
removeAll(Iterable<Object?> elements) → void
- 从此 Set 中删除元素的每个元素
retainWhere(bool test(E element)) → void
- 删除这个 Set 中所有不满足测试的元素
toList({bool growable = true}) → List<E>
- 创建一个包含此 Iterable 元素的列表
toString() → String
- 返回此元素(部分)的字符串表示形式