不可修改的Map的基本实现。
此类实现了不可修改的Map的所有成员(除了两个)。可以通过扩展此类并实现keys
和operator[]
来实现简单的不可修改的Map
类。
在尝试修改时抛出异常。其他非修改操作通过keys
和operator[]
实现。
该keys
可迭代对象应具有高效的Iterable.length和Iterable.contains操作,并且在迭代过程中应捕捉到对键的并发修改。
通常可以通过覆盖其他一些成员来提供更有效的实现。
构造函数
- UnmodifiableMapBase()
-
const
属性
-
entries → Iterable<
MapEntry< K, V> > - 此对象的Map条目。无setter继承
- hashCode → int
- 此对象的哈希码。无setter继承
- isEmpty → bool
- 表示在Map中没有键/值对。无setter继承
- isNotEmpty → bool
- 表示在Map中至少有一个键/值对。无setter继承
-
keys → Iterable<
K> - 此对象的所有键。无setter继承
- length → int
- Map中键/值对的数量。无setter继承
- runtimeType → Type
- 表示对象运行时类型的表示。无setter继承
-
values → Iterable<
V> - 此对象的所有值。无setter继承
方法
-
addAll(
Map< ) → voidK, V> other - 不可修改的Map不支持此操作。inherited
-
addEntries(
Iterable< ) → voidMapEntry< entriesK, V> > - 不可修改的Map不支持此操作。inherited
-
cast<
RK, RV> () → Map< RK, RV> - 如需则为此映射提供具有
RK
键和RV
实例的视图。inherited -
clear(
) → void - 不可修改的Map不支持此操作。inherited
-
containsKey(
Object? key) → bool - 判断此映射是否包含指定的
key
。inherited -
containsValue(
Object? value) → bool - 判断此映射是否包含指定的
value
。inherited -
forEach(
void action(K key, V value)) → void - 将
action
应用到映射中的每个键/值对。inherited -
map<
K2, V2> (MapEntry< K2, V2> transform(K key, V value)) → Map<K2, V2> - 通过给定的
convert
函数返回一个新映射,其中包含由此映射所有条目转换的条目。inherited -
noSuchMethod(
Invocation invocation) → dynamic - 当访问不存在的方法或属性时调用。inherited
-
putIfAbsent(
K key, V ifAbsent()) → V - 不可修改的Map不支持此操作。inherited
-
remove(
Object? key) → V? - 不可修改的Map不支持此操作。inherited
-
removeWhere(
bool test(K key, V value)) → void - 不可修改的Map不支持此操作。inherited
-
toString(
) → String - 此对象的字符串表示。inherited
-
update(
K key, V update(V value), {V ifAbsent()?}) → V - 不可修改的Map不支持此操作。inherited
-
updateAll(
V update(K key, V value)) → void - 不可修改的Map不支持此操作。inherited
运算符
-
operator ==(
Object other) → bool - 等号运算符。inherited
-
operator [](
Object? key) → V? - 对应于给定
key
的值,或者在key
不在映射中时为null
。inherited -
operator []=(
K key, V value) → void - 不可修改的Map不支持此操作。inherited