Java中使用getOrDefault()获取集合中指定键的值

一、整体分析

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

该方法属于map类,通过对源码分析来看,他也是根据 key 去过去value值,但是与 map.get(key)不同的是,如果使用 getOrDefault() 方法的 key的值为 null,会返回第二个参数的值。

二、参数分析

getOrDefault(Object key, V defaultValue)

1.key是键,根据key去map中获取它对应的值

2.defaultValue是默认值,当在map跟根据key未获取到值的时候,会将defaultValue的值返回。

三、案例分析 

public class demo1 {
    public static void main(String[] args) {
        HashMap hashMap = new HashMap<>();
        hashMap.put("小明", 20);
        hashMap.put("小红", 16);
        hashMap.put("小刘", 17);

        Integer age1 = hashMap.getOrDefault("小红", 22);// 小红存在,所以返回小红的年纪16.
        Integer age2 = hashMap.getOrDefault("张三", 38);// 张三不存在 map 中,所以返回默认值38
        System.out.println("小红年纪:"+age1);
        System.out.println("张三年纪:"+age2);
    }
}

Java中使用getOrDefault()获取集合中指定键的值_第1张图片

你可能感兴趣的:(集合,java)