java8 快速实现List转map 、分组、过滤等操作

转自:https://blog.csdn.net/lu930124/article/details/77595585/

 

//List里面的对象元素,以某个属性来分组,例如,以id分组,将id相同的放在一起
//List 以ID分组 Map<Long,List<Sku>>
Map<Long, List<Sku>> mapList = skuList.stream().collect(Collectors.groupingBy(Sku::getProductSpecificationId));
System.out.println(mapList);

//List转Map
Map<Long, Sku> appleMap = skuList.stream().collect(Collectors.toMap(Sku::getProductSpecificationId, item -> item));
System.out.println(appleMap);

//获取 List 集合获取指定的字段数组
List<Vip> vipList = new ArrayList<Vip>();
vipList.add(new Vip().setId(1L));
vipList.add(new Vip().setId(2L));
List<Long> idList = vipList.stream().map(Vip::getId).collect(Collectors.toList());

List转换逗号分隔的字符串
StringUtils.join(productSpecificationIdList.toArray(), ",")

//Set转List
Set<String> idSet = buyerCartMap.keySet();
List<Long> productSpecificationIds = Arrays.asList(idSet.toArray(new Long[idSet.size()]));

posted @   低调的小白  阅读(582)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示