getOrDefault()方法的代码如下:
default V getOrDefault(Object key, V defaultValue) {
V v;
/*用v接受到获取的key,找到该key对应的值,
要是没有key接收到那么返回默认自己设置的参数。
*/
return (((v = get(key)) != null) || containsKey(key))
? v
: defaultValue;
}
这个方法名的表面意思就是获取这个值或者是用默认的值。
//两个参数
key:获取key对应的值
defaultValue:没有找到的话使用返回该变量
比如下面这个例子:
Map<String, List<String>> map = new HashMap<>();
//先存入一个键值对
List<String> list1 = new ArrayList<>();
list1.add("lalala");
list1.add("hahaha");
map.put("1",list1);
List<String> list = map.getOrDefault("1",new ArrayList<String>());
if(list1==list){
System.out.println("两个集合相同");
}
List<String> list2 = map.getOrDefault("2",new ArrayList<String>());
if(list2.isEmpty()){
System.out.println("集合为空");
}
}