SetBase<E>抽象 混合

Set 类的基本实现。

此类提供了一种仅依赖于抽象成员(如 addcontainslookupremoveiteratorlengthtoSet)的 Set 基本实现。

某些方法假设 toSet 创建了一个可修改的集合。如果使用此基类来实现不可修改的集合,其中 toSet 应返回一个不可修改的集合,则需要重新实现 retainAllunionintersectiondifference

使用此基类实现的 Set 应考虑在常数时间内实现 clear。默认实现通过移除每个元素来完成。

实现类型
实现者
可用的扩展

构造函数

SetBase()
const

属性

first → E
第一个元素。
无设置器覆盖
hashCode int
此对象的哈希码。
无设置器继承
isEmpty bool
此集合是否没有元素。
无设置器覆盖
isNotEmpty bool
此集合是否至少有一个元素。
无设置器覆盖
iterator Iterator<E>
遍历此集合元素的迭代器。
无设置器覆盖
last → E
最后一个元素。
无设置器覆盖
length int
Iterable 中的元素数量。
无设置器覆盖
runtimeType Type
对象的运行时类型表示。
无设置器继承
single → E
检查此可迭代对象是否只有一个元素,并返回该元素。
无设置器覆盖

方法

add(E value) bool
value 添加到集合中。
override
addAll(Iterable<E> elements) → void
将所有 elements 添加到该集合中。
override
any(bool test(E element)) bool
检查该可迭代对象中的任何元素是否满足 test 条件。
override
cast<R>() Set<R>
提供以 R 实例集合为视图的此集合。
override
clear() → void
从集合中删除所有元素。
override
contains(Object? element) bool
判断 value 是否在集合中。
override
containsAll(Iterable<Object?> other) bool
判断此集合是否包含 other 中的所有元素。
override
difference(Set<Object?> other) Set<E>
创建一个新集合,包含此集合中不在 other 中的元素。
override
elementAt(int index) → E
返回第 index 个元素。
override
every(bool f(E element)) bool
检查该可迭代对象中的每个元素是否都满足 test 条件。
override
expand<T>(Iterable<T> f(E element)) Iterable<T>
将此 可迭代对象 的每个元素展开为零个或多个元素。
override
firstWhere(bool test(E value), {E orElse()?}) → E
找到满足给定谓词的第一个元素。
override
fold<T>(T initialValue, T combine(T previousValue, E element)) → T
通过迭代将集合中的每个元素与现有值组合来减少集合到一个单一值。
override
followedBy(Iterable<E> other) Iterable<E>
创建当前可迭代对象和 other 的惰性连接。
override
forEach(void f(E element)) → void
按迭代顺序对可迭代对象的每个元素调用 action
override
intersection(Set<Object?> other) Set<E>
创建一个新集合,它是当前集合和 other 的交集。
override
join([String separator = ""]) String
将每个元素转换为 String 并连接这些字符串。
override
lastWhere(bool test(E value), {E orElse()?}) → E
找到满足给定谓词的最后一个元素。
override
lookup(Object? element) → E?
如果集合中存在与 object 相等的对象,则返回它。
override
map<T>(T f(E element)) Iterable<T>
通过 toElement 修改当前可迭代对象的元素。
override
noSuchMethod(Invocation invocation) → dynamic
当访问不存在的方法或属性时调用。
继承
reduce(E combine(E value, E element)) → E
通过迭代使用提供的函数组合集合的元素来将集合缩减为一个值。
override
remove(Object? value) bool
从集合中移除 value
override
removeAll(Iterable<Object?> elements) → void
从该集合中移除 elements 的每个元素。
override
removeWhere(bool test(E element)) → void
移除满足 test 的该集合的所有元素。
override
retainAll(Iterable<Object?> elements) → void
移除不在 elements 中的该集合的所有元素。
override
retainWhere(bool test(E element)) → void
移除不满足 test 的该集合的所有元素。
override
singleWhere(bool test(E value), {E orElse()?}) → E
满足 test 的单个元素。
override
skip(int n) Iterable<E>
创建一个 Iterable,提供除了前 count 个元素之外的所有元素。
override
skipWhile(bool test(E value)) Iterable<E>
创建一个在满足条件时跳过开头元素的Iterable
override
take(int n) Iterable<E>
创建一个包含此可迭代器前n个元素的惰性可迭代器。
override
takeWhile(bool test(E value)) Iterable<E>
创建一个满足条件的开头元素的惰性可迭代器。
override
toList({bool growable = true}) List<E>
创建包含此Iterable元素的一个List
override
toSet() Set<E>
创建一个具有与这个Set相同元素和行为的Set
override
toString() String
此对象的一个字符串表示。
override
union(Set<E> other) Set<E>
创建一个包含此集合和other中所有元素的新的集合。
override
where(bool f(E element)) Iterable<E>
创建一个新的惰性Iterable,包含满足谓词test的所有元素。
override
whereType<T>() Iterable<T>
创建一个新的惰性Iterable,包含具有类型T的所有元素。
override

操作符

operator ==(Object other) bool
等于操作符。
继承

静态方法

setToString(Set set) String
Set 转换为 String