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 @ 2018-11-05 11:20  低调的小白  阅读(568)  评论(0编辑  收藏  举报