一组键/值对,您可以使用其关联的键从中检索值。
图中键的数量是有限的,每个键都与其关联的一个值一一对应。
Map及其键和值都可以迭代。迭代的顺序由Map的个别类型定义。例如
- 普通的HashMap是无序的(不保证顺序),
- LinkedHashMap按照键插入顺序迭代,
- 以及像SplayTreeMap这样的有序Map将按排序顺序迭代键。
通常不允许在执行Map操作(例如在forEach或putIfAbsent调用期间调用的函数)期间修改Map(添加或删除键)。在迭代键或值时修改Map也可能破坏迭代。
通常不允许在键在Map中时修改其相等性(以及因此其哈希码)。某些专用子类型可能更宽容,在这种情况下,它们应记录此行为。
构造函数
- Map()
- 创建一个空的LinkedHashMap。工厂
- Map.from(Map other)
- 创建一个与
other
具有相同键和值的LinkedHashMap。工厂 -
Map.fromEntries(Iterable<
MapEntry< entries)K, V> > - 创建一个新的Map并添加所有条目。工厂
- Map.fromIterable(Iterable iterable, {K key(dynamic element)?, V value(dynamic element)?})
- 创建一个Map实例,其键和值由
iterable
计算得出。工厂 -
Map.fromIterables(Iterable<
K> keys, Iterable<V> values) - 创建一个将给定的
keys
关联到给定的values
的映射。工厂 - Map.identity()
- 使用默认实现 LinkedHashMap 创建一个恒等映射。工厂
-
Map.of(Map<
K, V> other) - 创建一个与
other
具有相同键和值的LinkedHashMap。工厂 - Map.unmodifiable(Map other)
- 创建一个包含
other
中的条目的不可修改的基于哈希的映射。工厂
属性
方法
-
addAll(
Map< ) → voidK, V> other - 将
other
的所有键值对添加到此映射中。 -
addEntries(
Iterable< MapEntry< newEntries) → voidK, V> > - 将
newEntries
的所有键值对添加到此映射中。 -
cast<
RK, RV> () → Map< RK, RV> - 提供对当前映射的视图,使其具有
RK
键和RV
实例,如有必要。 -
clear(
) → void - 从映射中移除所有条目。
-
containsKey(
Object? key) → bool - 此映射是否包含给定的
key
。 -
containsValue(
Object? value) → bool - 此映射是否包含给定的
value
。 -
forEach(
void action(K key, V value)) → void - 对映射中的每个键/值对应用
action
。 -
map<
K2, V2> (MapEntry< ) → Map<K2, V2> convert(K key, V value)K2, V2> - 返回一个新映射,其中此映射的所有条目都通过给定的
convert
函数转换。 -
noSuchMethod(
Invocation invocation) → dynamic - 当访问不存在的方法或属性时调用。继承
-
putIfAbsent(
K key, V ifAbsent()) → V - 查找
key
的值,如果不存在则添加新条目。 -
remove(
Object? key) → V? - 如果存在,从映射中移除
key
及其关联的值。 -
removeWhere(
bool test(K key, V value)) → void - 删除满足给定条件
test
的此映射中的所有条目。 -
toString(
) → String - 此对象的字符串表示形式。继承
-
update(
K key, V update(V value), {V ifAbsent()?}) → V - 更新提供的
key
的值。 -
updateAll(
V update(K key, V value)) → void - 更新所有值。
运算符
-
operator ==(
Object other) → bool - 相等运算符。继承
-
operator [](
Object? key) → V? - 给定
key
的值,如果key
不在此映射中,则为null
。 -
operator []=(
K key, V value) → void - 将
key
与给定的value
关联。