// 方法定义
default V computeIfAbsent(K key, Function<? super K, ? extends V> mappingFunction) {
    ...
}

// java8之前。从map中根据key获取value操作可能会有下面的操作
Object key = map.get("key");
if (key == null) {
    key = new Object();
    map.put("key", key);
}

// java8之后。上面的操作可以简化为一行,若key对应的value为空,会将第二个参数的返回值存入并返回
List<String> list2 = map.computeIfAbsent("key", k -> new ArrayList<String>());
list2.add("123");

Object key2 = map.computeIfAbsent("key", k -> new Object());
key2.toString();

 

相关文章:

  • 2022-12-23
  • 2021-12-12
  • 2021-06-30
  • 2021-08-05
  • 2023-04-07
  • 2021-07-31
猜你喜欢
  • 2022-01-18
  • 2022-12-23
  • 2022-01-02
  • 2022-02-01
相关资源
相似解决方案