UnmodifiableSetView<E>

另一个Set的不可修改视图。

可能改变集合的方法,如addremove,不得调用。

final baseSet = <String>{'Mars', 'Mercury', 'Earth', 'Venus'};
final unmodifiableSetView = UnmodifiableSetView(baseSet);

// Remove an element from the original set.
baseSet.remove('Venus');
print(unmodifiableSetView); // {Mars, Mercury, Earth}

unmodifiableSetView.remove('Earth'); // Throws.
继承
可用扩展
注解
  • @Since("2.12")

构造函数

UnmodifiableSetView(Set<E> source)
创建一个包含sourceUnmodifiableSetView

属性

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

方法

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

运算符

operator ==(Object other) bool
等价运算符。
继承