UnmodifiableMapBase<K, V>抽象

不可修改的Map的基本实现。

此类实现了不可修改的Map除两个成员之外的所有成员。通过扩展此类并实现keysoperator[],可以创建一个简单的不可修改的Map类。

修改操作会抛出异常。其余的非修改操作以keysoperator[]为依据实现。

keys可迭代对象应该具有高效的Iterable.lengthIterable.contains操作,并且应该能够捕获在迭代过程中对键的并发修改。

通常可以通过重写其他一些成员来实现更高效的实现。

继承

构造函数

UnmodifiableMapBase()
const

属性

entries Iterable<MapEntry<K, V>>
Map的条目。
no setterinherited
hashCode int
此对象的哈希码。
no setterinherited
isEmpty bool
地图中没有键/值对。
no setterinherited
isNotEmpty bool
地图中至少有一个键/值对。
no setterinherited
keys Iterable<K>
Map的键。
no setterinherited
length int
地图中键/值对的数目。
no setterinherited
runtimeType Type
对象的运行时类型的表示。
no setterinherited
values Iterable<V>
Map的值。
no setterinherited

方法

addAll(Map<K, V> other) → void
不可修改的地图不支持此操作。
inherited
addEntries(Iterable<MapEntry<K, V>> entries) → void
不可修改的地图不支持此操作。
inherited
cast<RK, RV>() Map<RK, RV>
如果需要,提供此映射具有 RK 键和 RV 实例的视图。
inherited
clear() → void
不可修改的地图不支持此操作。
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
不可修改的地图不支持此操作。
inherited
remove(Object? key) → V?
不可修改的地图不支持此操作。
inherited
removeWhere(bool test(K key, V value)) → void
不可修改的地图不支持此操作。
inherited
toString() String
该对象的字符串表示。
inherited
update(K key, V update(V value), {V ifAbsent()?}) → V
不可修改的地图不支持此操作。
inherited
updateAll(V update(K key, V value)) → void
不可修改的地图不支持此操作。
inherited

操作符

operator ==(Object other) bool
相等操作符。
inherited
operator [](Object? key) → V?
给定 key 的值,如果 key 不在映射中,则为 null
inherited
operator []=(K key, V value) → void
不可修改的地图不支持此操作。
inherited