MapBase<K, V>抽象 混合

实现Map的基础类。

此类实现了Map中除五个成员之外的所有成员。一个基本的Map类可以通过扩展此类并实现keysoperator[]operator[]*removeclear来实现。其他操作是用这五个实现的。

keys可迭代对象应该有高效的Iterable.lengthIterable.contains操作,并且在迭代时应该能够处理键的并发修改。

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

实现类型
实现者

构造函数

MapBase()
const

属性

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

方法

addAll(Map<K, V> other) → void
other的所有键值对添加到此映射中。
override
addEntries(Iterable<MapEntry<K, V>> newEntries) → void
newEntries 中的所有键/值对添加到此映射中。
override
cast<RK, RV>() Map<RK, RV>
如果需要,提供一个将此映射视为具有 RK 键和 RV 实例的视图。
override
clear() → void
从映射中删除所有条目。
override
containsKey(Object? key) bool
此映射是否包含给定的 key
override
containsValue(Object? value) bool
此映射是否包含给定的 value
override
forEach(void action(K key, V value)) → void
对映射中的每个键/值对应用 action
override
map<K2, V2>(MapEntry<K2, V2> transform(K key, V value)) Map<K2, V2>
返回一个新的映射,其中此映射的所有条目都通过给定的 convert 函数转换。
override
noSuchMethod(Invocation invocation) → dynamic
当访问不存在的函数或属性时被调用。
继承的
putIfAbsent(K key, V ifAbsent()) → V
查找 key 的值,如果不存在则添加新条目。
override
remove(Object? key) → V?
从映射中移除key及其关联的价值,如果存在的话。
override
removeWhere(bool test(K key, V value)) → void
移除满足给定test的所有条目。
override
toString() String
此对象的字符串表示形式。
override
update(K key, V update(V value), {V ifAbsent()?}) → V
更新给定key的值。
override
updateAll(V update(K key, V value)) → void
更新所有值。
override

运算符

operator ==(Object other) bool
等号运算符。
继承的
operator [](Object? key) → V?
给定key的值,如果key不在映射中,则为null
override
operator []=(K key, V value) → void
key与给定的value关联。
override

静态方法

mapToString(Map<Object?, Object?> m) String