public static void main(String[] args) {
HashMap<String, List<Long>> failedMapSingle = Maps.newHashMap();
HashMap<String, List<Long>> failedMap = Maps.newHashMap();
failedMap.put("a", Lists.newArrayList(1L));
failedMapSingle.put("a", Lists.newArrayList(2L));
if (MapUtils.isNotEmpty(failedMapSingle)) {
failedMapSingle.forEach((k, v) -> failedMap.merge(k, v, (v1, v2) -> {
if (CollectionUtils.isNotEmpty(v1) && CollectionUtils.isNotEmpty(v2)) {
List<Long> li = Lists.newArrayList();
li.addAll(v1);
li.addAll(v2);
return li;
} else if (CollectionUtils.isNotEmpty(v1) && CollectionUtils.isEmpty(v2)) {
return v1;
} else if (CollectionUtils.isEmpty(v1) && CollectionUtils.isNotEmpty(v2)) {
return v2;
}
return v1;
}));
}
System.out.println(failedMap.toString());
System.out.println(failedMapSingle.toString());
}
两个map的value 进行合并-Map的merge操作
最新推荐文章于 2023-04-26 17:01:49 发布