map.computeIfAbsent() 详解

2023-10-17 12:13:22

computeIfAbsent()
1、首先会判断map中是否有对应的Key;
2.1、如果没有对应的Key,则会创建一个满足Value类型的数据结构放到Value的位置中;
2.2、如果有对应的Key,则会操作该Key对应的Value.

publicstaticvoidmain(String[] args){HashMap<String,List<Integer>> map=newHashMap<>();/**
         * 首先,Map中没有 "hadoop" 这个Key,所以会创建一个满足Value类型的数据结构放入到Key对应的Value中
         * 随后对该Value对应的值进行操作,如下代码是:list.add(1)
         */
        map.computeIfAbsent("hadoop", key->newArrayList<>()).add(1);System.out.println(map);/**
         * Map中已经有 "hadoop" 这个 Key,所以会操作该Key对应的一个Value
         * 如下代码,对Key对应的Value进行 list.add(2) 这个操作
         */
        map.computeIfAbsent("hadoop", key->newArrayList<>()).add(2);System.out.println(map);}
  • 作者:rabbit_zli
  • 原文链接:https://blog.csdn.net/manqishizhizhu/article/details/124110851
    更新时间:2023-10-17 12:13:22