Skip to content

Map<K, V> ​

Map 把唯一键映射到值,键和值类型都必须完整声明。

norm
Map<String, Integer> counts = Map<>()
counts.put(key: "open", value: 3)

if counts.containsKey("open") {
    Integer count = counts["open"]
}

缺失值 ​

map[key] 要求键存在。get(key:) 在键不存在时返回 nullable value;需要区分缺失键和已保存的 nullable 值时使用 containsKey(key:):

norm
Integer value = 0
if counts.containsKey("closed") {
    value = counts["closed"]
}

Integer? optionalValue = counts.get(key: "closed")

键规则 ​

Map 使用语言内建且一致的 equality 与 hash:value 键按结构递归计算,class 键按对象 identity 计算。Equatable 与 Hashable 不替换这套规则。Map 插入键和值时遵循各自的数据类别语义。

通用 Map 不承诺遍历顺序。需要插入顺序或排序时使用 OrderedMap 或 SortedMap,并显式提供 comparator。Map 自身遵循 value 语义。

Norm 0.25