HashMap通过get(Object key)方法根据键获取值,若键不存在或值为null均返回null;需重写equals()和hashCode();可用containsKey()区分二者,或用getOrDefault()提供默认值;支持唯一null键。

在 Java 中,HashMap 通过键获取值,最常用、最直接的方式是调用 get(Object key) 方法。
使用 get() 方法获取值
get() 是 HashMap 提供的核心方法,传入键对象,返回对应值(如果存在);若键不存在,则返回 null。
- 键必须正确重写
equals()和hashCode()(对于自定义类尤其重要) - 即使值本身为
null,get()也返回null,因此不能单靠null判断键是否存在 - 示例:map.get("name") 返回与键
"name"关联的值
安全判断键是否存在再取值
若需区分“键不存在”和“键存在但值为 null”,应先用 containsKey() 检查:
- if (map.containsKey("id")) { String value = map.get("id"); }
- 避免因误判
null导致空指针或逻辑错误
Java 8+ 推荐的替代方式:getOrDefault()
当希望键不存在时返回默认值(而非 null),可用 getOrDefault(key, defaultValue):
立即学习“Java免费学习笔记(深入)”;
- String name = map.getOrDefault("name", "unknown");
- 简洁安全,适合提供兜底值的场景
注意 null 键的特殊处理
HashMap 允许一个 null 键,此时可通过 map.get(null) 获取其对应值:
- 仅允许一个
null键,重复 putnull会覆盖旧值 - 调用
containsKey(null)可明确检查null键是否存在


















