Stream是Java8的一大亮点,是对容器对象功能的增强,它专注于对容器对象进行各种非常便利、高效的 聚合操作(aggregate operation)或者大批量数据操作。
//对两个 List 遍历匹配数据的优化处理 支持一对多
public List<Map<String, Object>> compareListHitData(List<Map<String, Object>> ChannelList, List<Map<String, Object>> UpdatList) {
//两个List 如果ID==CHANNEL_ID 用UUID替换掉CHANNEL_ID
List<Map<String, Object>> resultList = UpdatList.stream().map(map -> ChannelList.stream()
.filter(m -> Objects.equals(m.get("ID"), map.get("CHANNEL_ID")))
.findFirst().map(m ->{
map.put("CHANNEL_ID",m.get("UUID"));
//map.putAll(m);
return map;
}).orElse(null))
.filter(Objects::nonNull).collect(Collectors.toList());
}