MapBase<K, V>抽象 混合

实现 Map 的基类。

此类实现了 Map 的除五个成员之外的所有成员。可以通过扩展此类并实现 keysoperator[]operator[]=removeclear 来实现一个基本的 Map 类。剩余的操作以这五个操作为基础实现。

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

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

实现类型
实现者

构造函数

MapBase()
const

属性

entries Iterable<MapEntry<K, V>>
Map 的映射项。
no setteroverride
hashCode int
此对象的哈希码。
no setterinherited
isEmpty bool
地图中是否没有键/值对。
no setteroverride
isNotEmpty bool
地图中是否至少有一个键/值对。
no setteroverride
keys Iterable<K>
Map 的键。
no setteroverride
length int
地图中键/值对的数量。
no setteroverride
runtimeType Type
对象运行时类型的表示。
no setterinherited
values Iterable<V>
Map 的值。
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
移除满足给定条件的此映射中的所有条目。
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