实现Map的基础类。
此类实现了Map中除五个成员之外的所有成员。一个基本的Map
类可以通过扩展此类并实现keys
、operator[]
、operator[]*
、remove
和clear
来实现。其他操作是用这五个实现的。
keys
可迭代对象应该有高效的Iterable.length和Iterable.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< 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 - 移除满足给定
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