stream 分组(group)和map的值映射mapping变型写法
2022/1/17 6:05:52
本文主要是介绍stream 分组(group)和map的值映射mapping变型写法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
参考这个流映射写的:
stream 分组(group)和map的值映射mapping
我们经常写那种分组查询的操作:根据某个id,分组聚合成Map<Long,List<String>> 类似这样的语法。
发现一个for和别的组合在一起,比较好,单独的一个流操作n次,本来用for可以解决的问题,使用了多次的流操作,看着花里胡哨的,实际上性能并没有提升,反而下降了不少。
public static void main(String[] args) { List<FloorElement> elementList=new ArrayList<>(); FloorElement element=new FloorElement(); element.setId(1l); element.setFloorId(1l); elementList.add(element); FloorElement element2=new FloorElement(); element2.setId(2l); element2.setFloorId(1l); elementList.add(element2); Map<Long, List<FloorElement>> map = new HashMap<>(); for (FloorElement value : elementList) { map.computeIfAbsent(value.getFloorId(), k -> new ArrayList<>()).add(value); } //打印的结果是两条数据,是分组的结果,根据id ,变种的写法 elementList.stream() .collect(Collectors.groupingBy(FloorElement::getFloorId, Collectors.mapping(value->value, Collectors.toList()))); }
这篇关于stream 分组(group)和map的值映射mapping变型写法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2025-01-10百万架构师第十三课:源码分析:Spring 源码分析:Spring核心IOC容器及依赖注入原理|JavaGuide
- 2025-01-10便捷好用的电商API工具合集
- 2025-01-09必试!帮 J 人团队解决物流错发漏发的软件神器!
- 2025-01-09不容小觑!助力 J 人物流客服安抚情绪的软件!
- 2025-01-09为什么医疗团队协作离不开智能文档工具?
- 2025-01-09惊叹:J 人团队用啥软件让物流服务快又准?
- 2025-01-09如何利用数据分析工具优化项目资源分配?4种工具推荐
- 2025-01-09多学科协作难?这款文档工具可以帮你省心省力
- 2025-01-09团队中的技术项目经理TPM:工作内容与资源优化策略
- 2025-01-09JIT生产管理法:优化流程,提升竞争力的秘诀