stream 分组(group)和map的值映射mapping
1 2 3 4 5 6 | @Data public class MiddleFloorDto { private Long middleId; private Long floorId; private Long landingpageId; } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | public class Main { public static void main(String[] args) { ArrayList<MiddleFloorDto> list = new ArrayList<>(); MiddleFloorDto dto1 = new MiddleFloorDto(); dto1.setFloorId(1l); dto1.setLandingpageId(1l); MiddleFloorDto dto2 = new MiddleFloorDto(); dto2.setFloorId(12l); dto2.setLandingpageId(2l); MiddleFloorDto dto3 = new MiddleFloorDto(); dto3.setFloorId(8l); dto3.setLandingpageId(2l); MiddleFloorDto dto4 = new MiddleFloorDto(); dto4.setMiddleId(2l); dto4.setLandingpageId(3l); MiddleFloorDto dto5 = new MiddleFloorDto(); dto5.setFloorId(2l); dto5.setLandingpageId(4l); MiddleFloorDto dto6 = new MiddleFloorDto(); dto6.setFloorId(4l); dto6.setLandingpageId(2l); MiddleFloorDto dto7 = new MiddleFloorDto(); dto7.setFloorId(6l); dto7.setLandingpageId(2l); list.add(dto7); list.add(dto6); list.add(dto5); list.add(dto4); list.add(dto3); list.add(dto2); list.add(dto1); Map<Long, List<MiddleFloorDto>> collect = list.stream().collect(Collectors.groupingBy(MiddleFloorDto::getLandingpageId)); System. out .println(collect. get (1l)); System. out .println(collect. get (2l)); System. out .println(collect. get (3l)); System. out .println(collect. get (4l)); System. out .println(collect. get (5l)); System. out .println(collect. get (6l)); } |
list.stream() .collect(Collectors.groupingBy(MiddleFloorDto::getLandingpageId, Collectors.mapping(MiddleFloorDto::getFloorId, Collectors.toList())));
1 2 3 4 5 6 | <br><br> /* [MiddleFloorDto{middleId=null, floorId=1, landingpageId=1}] [MiddleFloorDto{middleId=null, floorId=6, landingpageId=2}, MiddleFloorDto{middleId=null, floorId=4, landingpageId=2}, MiddleFloorDto{middleId=null, floorId=8, landingpageId=2}, MiddleFloorDto{middleId=null, floorId=12, landingpageId=2}] [MiddleFloorDto{middleId=2, floorId=null, landingpageId=3}] [MiddleFloorDto{middleId=null, floorId=2, landingpageId=4}] null null*/ <br>测试结果符合预期。 |
---------------------------------------------------------------------------
国之殇,未敢忘!
南京大屠杀!
731部队!
(有关书籍《恶魔的饱食》)以及核污染水排海等一系列全无人性的操作,购买他们的食品和为它们提供帮助只会更加变本加厉的害你,呼吁大家不要购买日本相关产品
昭昭前事,惕惕后人
吾辈当自强,方使国不受他人之侮!
---------------------------------------------------------------------------
作者:三号小玩家
出处:https://www.cnblogs.com/q1359720840/
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。 版权信息
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具