computelfAbsent用法:
computeIfAbsent是Java8新特性中的一个Map接口的方法;
功能:用作判断要给key值是否存在该Map中,存在就返回,不存在就返回默认值添加返回。
用法:map.computeIfAbsent(key, k -> defultValue);
示意:key为需要判断的键,defultValue为当key值不存在的时候需要添加的默认值,k -> defaultValue是一个Function对象,作用是当key不存在的时候返回默认值。
类如:
List<Map<String, Object>> AiWarnings = baseMapper.getWarning();
for (Map<String, Object> warning : AiWarnings) {
String aiName = (String) warning.get("aiName");
aiMap.computeIfAbsent(aiName, k -> new ArrayList<>()).add(warning);
}
这段代码中,会循环遍历AiWarnings 这个对像中的结果,对应的结果存在就返回,不存在就返回空列表;最终结果不管存在与否都会添加到waring对象中