JDK8中Map接口下的computeIfAbsent方法
程序员文章站
2022-06-08 22:19:34
...
computeIfAbsent方法是java8中新增的方法,该方法用于获取指定key的value值,同时指定当map中没有指定key的value时返回指定的函数式接口中定义的返回值。
例如下面一段代码
Map<String, List<JobPo>> jobQueueListMap =new HashMap<>();
List<JobPo> jobs = jobQueueListMap.get("1001");
if(Objects.isNull(jobs)){
jobs = new ArrayList<>();
jobs.add(new JobPo(1001L));
jobQueueListMap.put("1001",jobs);
}
log.info("jobs: 【{}]", JSON.toJSONString(jobQueueListMap.get("1001")));
使用computeIfAbsent方法可以简化上面的实现
Map<String, List<JobPo>> jobQueueMap =new HashMap<>();
List<JobPo> jobPoList = jobQueueMap.computeIfAbsent("1001",(key)->{
return new ArrayList<>();
});
jobPoList.add(new JobPo(1001L));
log.info("jobList: 【{}]", JSON.toJSONString(jobQueueMap.get("1001")));
下一篇: jdk8中map新增的merge方法