1.功能说明
如果指定的键(key)在Map中不存在或对应的值为null,则使用提供的函数计算新值并放入Map,避免显式的null检查和手动初始。
mandatoryProjects.computeIfAbsent(projectTypeName, k -> new ArrayList<>()).add(project);这个的流程是,在k也就是key里查找projectTypeName,如果没有,就新建ArrayList去关联这个键值,添加project数据进去。
等价于
List<Map<String, Object>> projectList = mandatoryProjects.get(projectTypeName); if (projectList == null) { projectList = new ArrayList<>(); mandatoryProjects.put(projectTypeName, projectList); } projectList.add(project);