computeIfAbsent是java8的新方法,它定义在Map接口中,和我们常用的putIfAbsent有着类似的功能,都是在map不存在某个key的时候(其实还有一种情况,key存在,但是对应的value为null,从下面的源码也可以看出),进行插入
computeIfAbsent代码
default V computeIfAbsent(K key,
Function<? super K, ? extends V> mappingFunction) {
Objects.requireNonNull(mappingFunction);
V v;
if ((v = get(key)) == null) {
//这里if为true的情况包括了key不存在和key对应的value为null,下同
V<