java的map如何取键的值

java的map如何取键的值

作者:Rhett Bai发布时间:2026-02-13阅读时长:0 分钟阅读次数:29

用户关注问题

Q
如何使用Java中的Map获取指定键对应的值?

我有一个Java Map对象,想要通过键获取对应的值,应该使用什么方法?

A

使用Map的get方法获取键对应的值

在Java中,Map接口提供了get(Object key)方法,可以通过传入键来获取对应的值。例如:Map<String, Integer> map = new HashMap<>(); map.put("apple", 10); Integer value = map.get("apple"); 这样value变量中就保存了键"apple"对应的值。

Q
当通过键获取Map中的值时,如果键不存在会发生什么?

我想从Map中用一个键取值,但是不确定这个键是否在Map中存在,应该注意什么?

A

键不存在时Map的get方法返回null

如果传入的键在Map中不存在,get方法将返回null。为了避免NullPointerException,使用get前可以调用containsKey(key)方法检查键是否存在。例如:if(map.containsKey(key)){ V value = map.get(key); }。

Q
有没有更安全的方式从Map中取值,避免空指针异常?

我希望从Map获取值时默认给出一个备用值,以防键不存在,Java有提供相关方法吗?

A

使用Map的getOrDefault方法提供默认值

Java 8及以上版本的Map接口增加了getOrDefault(Object key, V defaultValue)方法,可以在键不存在时返回一个默认值,避免返回null的情况。例如: Integer value = map.getOrDefault("banana", 0); 这样如果键"banana"没有对应值,value将是0。