Map<K, V> class

键/值对的集合,您可以使用其关联的键从中检索值.

映射中有有限数量的键,并且每个键都有一个与其关联的值.

可以迭代映射及其键和值. 迭代的顺序由地图的各个类型定义. 例子:

  • 普通的HashMap是无序的(不能保证任何顺序),
  • LinkedHashMap以密钥插入顺序进行迭代,
  • 排序后的地图(如SplayTreeMap)会按排序顺序迭代键.

在对地图执行操作时,例如在forEachputIfAbsent调用期间调用的函数中,通常不允许修改地图(添加或删除键). 在迭代键或值的同时修改映射也可能会中断迭代.

当键在映射中时,通常不允许修改键的相等性(因此不允许修改其哈希码). 一些专门的子类型可能更宽松,在这种情况下,它们应该记录此行为.

Implementers

Constructors

Map()
使用默认实现LinkedHashMap创建一个Map实例. [...]
Map.from(Map other)
创建一个LinkedHashMap实例,该实例包含other所有键/值对. [...]
Map.fromEntries(Iterable<MapEntry<K, V>> entries)
创建一个新地图并添加所有条目. [...]
Map.fromIterable(Iterable iterable, {K key(dynamic element), V value(dynamic element)})
创建一个Map实例,在其中从iterable计算键和值. [...]
Map.fromIterables(Iterable<K> keys, Iterable<V> values)
创建一个Map实例,将给定keysvalues关联. [...]
Map.identity()
使用默认实现LinkedHashMap创建一个身份映射. [...]
Map.of(Map<K, V> other)
创建一个具有与other相同的键和值的LinkedHashMap . [...]
Map.unmodifiable(Map other)
创建一个不可修改的基于哈希的映射,其中包含other的条目. [...]

Properties

entries Iterable<MapEntry<K, V>>
地图的条目 .
只读
hashCode int
此对象的哈希码. [...]
只读,继承
isEmpty bool
如果映射中没有键/值对,则返回true.
只读
isNotEmpty bool
如果映射中至少有一个键/值对,则返回true.
只读
keys Iterable<K>
The keys of this. [...]
read-only
length int
地图中键/值对的数量.
只读
runtimeType Type
对象的运行时类型的表示形式.
只读,继承
values Iterable<V>
这个 . [...]
只读

Methods

addAll(Map<K, V> other) → void
添加的所有键/值对other在该地图上. [...]
addEntries(Iterable<MapEntry<K, V>> newEntries) → void
newEntries所有键/值对添加到此映射. [...]
cast<RK, RV>() Map<RK, RV>
如有必要,提供具有RK键和RV实例的此地图视图. [...]
clear() → void
从地图上删除所有配对. [...]
containsKey(Object key) bool
如果此映射包含给定key则返回true. [...]
containsValue(Object value) bool
如果此映射包含给定value则返回true. [...]
forEach(void f(K key, V value)) → void
f应用于地图的每个键/值对. [...]
map<K2, V2>(MapEntry<K2, V2> f(K key, V value)) Map<K2, V2>
返回一个新映射,该映射的所有条目都由给定的f函数转换.
noSuchMethod(Invocation invocation) → dynamic
当访问不存在的方法或属性时调用. [...]
遗传
putIfAbsent(K key, V ifAbsent()) → V
查找key值,如果不存在,则添加一个新值. [...]
remove(Object key) → V
从地图中删除key及其关联的值(如果存在). [...]
removeWhere(bool predicate(K key, V value)) → void
删除此映射中满足给定predicate所有条目.
toString() String
返回此对象的字符串表示形式.
遗传
update(K key, V update(V value), {V ifAbsent()}) → V
更新提供的key的值. [...]
updateAll(V update(K key, V value)) → void
更新所有值. [...]

Operators

operator ==(Object other) bool
等于运算符. [...]
遗传
operator [](Object key) → V
返回给定key值;如果key不在地图中,则返回null. [...]
operator []=(K key, V value) → void
key与给定value关联. [...]

Static Methods

castFrom<K, V, K2, V2>(Map<K, V> source) Map<K2, V2>
sourceMap<K2, V2> . [...]