不可修改的Map的基本实现。
此类实现了不可修改的Map除两个成员之外的所有成员。通过扩展此类并实现keys
和operator[]
,可以创建一个简单的不可修改的Map
类。
修改操作会抛出异常。其余的非修改操作以keys
和operator[]
为依据实现。
keys
可迭代对象应该具有高效的Iterable.length和Iterable.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< entries) → voidK, V> > - 不可修改的地图不支持此操作。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< ) → Map<K2, V2> transform(K key, V value)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