合并多个List,合并List中的属性值
2022/3/27 23:24:53
本文主要是介绍合并多个List,合并List中的属性值,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
如果要对List中的对象进行唯一值属性去重,属性求和: 1.key唯一
List<DemoDto> result = list.stream().collect(Collectors.toMap(DemoDto :: getId, a->a, (o1,o2)->{ o1.setWhCode(o1.getWhCode()+o2.getWhCode()); o1.setAreaCode(o1.getAreaCode() + o2.getAreaCode()); o1.setRegionCode(o1.getRegionCode() + o2.getRegionCode()); return o1; })).values().stream().collect(Collectors.toList());
2.key由多个字段组合而成
/** * 实现list对象的属性合并(key是组合的键,多个字段拼接) * @param list * @return */ public List<DemoDto> mergeList(List<DemoDto> list){ Map<String, DemoDto> map = new HashMap<>(); for(DemoDto formDto : list){ String key = formDto.get1Code() + "_" + formDto.get2Code() + "_" + formDto.get3Code(); if ( map.containsKey(key)){ DemoDto DemoDtoTemp = map.get(key); DemoDtoTemp.setA(DemoDtoTemp.getA() + formDto.getA()); DemoDtoTemp.setB(DemoDtoTemp.getB() + formDto.getB()); DemoDtoTemp.setC(DemoDtoTemp.getC() + formDto.getC()); map.put(key, DemoDtoTemp); }else { map.put(key,formDto); } } //将map转成List List<DemoDto> result = map.values().stream().collect(Collectors.toList()); return result; }
这篇关于合并多个List,合并List中的属性值的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-15鸿蒙生态设备数量超8亿台
- 2024-05-13TiDB + ES:转转业财系统亿级数据存储优化实践
- 2024-05-09“2024鸿蒙零基础快速实战-仿抖音App开发(ArkTS版)”实战课程已上线
- 2024-05-09聊聊如何通过arthas-tunnel-server来远程管理所有需要arthas监控的应用
- 2024-05-09log4j2这么配就对了
- 2024-05-09nginx修改Content-Type
- 2024-05-09Redis多数据源,看这篇就够了
- 2024-05-09Google Chrome驱动程序 124.0.6367.62(正式版本)去哪下载?
- 2024-05-09有没有大佬知道这种数据应该怎么抓取呀?
- 2024-05-09这种运行结果里的10.100000001,怎么能最快改成10.1?