📅  最后修改于: 2023-12-03 15:31:52.549000             🧑  作者: Mango
在Java中,HashMap是常用的数据结构之一。在处理键值对时,我们通常会用到get方法来获取对应的value值。但是,如果key不存在,get方法会返回null值,这样会影响代码的健壮性。为了避免这种情况的发生,Java 8增加了HashMap类中的getOrDefault方法。
getOrDefault
方法用于获取指定 key 对应的 value 值,如果该 key 不存在,则返回一个默认值。
public V getOrDefault(Object key, V defaultValue)
其中,key
为键,defaultValue
为默认值,如果键不存在,返回该默认值。
import java.util.HashMap;
public class Example {
public static void main(String[] args) {
// 创建一个HashMap对象
HashMap<String, Integer> scores = new HashMap<>();
// 向HashMap中添加数据
scores.put("Tom", 95);
scores.put("Jerry", 100);
// 使用get方法获取键"Tom"对应的值
Integer tomScore = scores.get("Tom");
System.out.println("Tom's score is " + tomScore); // 输出:Tom's score is 95
// 使用get方法获取键"Mike"对应的值
Integer mikeScore = scores.get("Mike");
System.out.println("Mike's score is " + mikeScore); // 输出:Mike's score is null
// 使用getOrDefault方法获取键"Mike"对应的值,如果不存在返回默认值0
Integer mikeScore2 = scores.getOrDefault("Mike", 0);
System.out.println("Mike's score is " + mikeScore2); // 输出:Mike's score is 0
}
}
上述示例中,通过使用getOrDefault
方法可以避免当key不存在时返回null值的情况,而是返回了一个默认值。这样就可以确保代码的健壮性,避免空指针异常的发生。
此外,还有许多其他方法可以用于操作HashMap,如put、remove、keySet、values等等,可以根据实际需要进行使用。