实现 Map 的基类。
此类实现了 Map 的除五个成员之外的所有成员。可以通过扩展此类并实现 keys
、operator[]
、operator[]=
、remove
和 clear
来实现一个基本的 Map
类。剩余的操作以这五个操作为基础实现。
keys
可迭代对象应具有高效的 Iterable.length 和 Iterable.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< newEntries) → voidK, V> > - 将
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< ) → Map<K2, V2> transform(K key, V value)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