Java Map 中的 getOrDefault 方法

簡單說明: 用在沒有這個 key 時,所要給的預設 value。

Java原始碼

default V getOrDefault(Object key, V defaultValue) {
V v;
return (((v = get(key)) != null) || containsKey(key))
? v
: defaultValue;
}

當 Map 集合中有這個 key 時, 就使用這個 key 的 value, 如果沒有,就使用 defaultValue 的值

範例說明: 比如一個人名跟分數的 Map

public class MapGetOrDefault {
public static void main(String[] args) {
Map<String, Integer> map = new HashMap<>();
map.put("Tom", 90);
map.put("Ming", 70);
map.put("Ann", 80);
Integer score = map.getOrDefault("Tom", 0);
System.out.println(score);
// 印出 90,因為 map 中存在 "Tom", 可以印出90
Integer score2 = map.getOrDefault("Chen", 0);
System.out.println(score2);
// 印出 0,因為 map 中不存在 "Chen",使用默認 0
}
}