default V getOrDefault(Object key, V defaultValue) {
V v;
return (((v = get(key)) != null) || containsKey(key))
? v
: defaultValue;
}
代码如上所示,如果包含这个对象的key值则,返回这个对象对应键的值,否则返回0
测试:
public static void main(String[] args) {
Map<Integer,Integer> map = new HashMap<>();
map.put(0,1);
System.out.println(map.getOrDefault(0,2));
map.put(0,2);
System.out.println(map.getOrDefault(0,1));
System.out.println(map.getOrDefault(1,0));
}
结果
明显,每次执行getOrDefault返回的是key所对应的值,如果不存在则返回0.