http://www.manongjc.com/article/44995.html
1.排序
 按升序排 :Collections.sort(shopInfoVO1List, Comparator.comparing(ShopInfoVO1::getDistance));
 按降序排: Collections.sort(shopInfoVO1List, Comparator.comparing(ShopInfoVO1::getDistance).reversed());
 2.去除对象重复
 List uniqueList = marketCouponList.stream()
 .collect(Collectors.collectingAndThen(
 Collectors.toCollection(
 () -> new TreeSet<>(Comparator.comparing(MarketCouponLogVO::getCouponId))),
 ArrayList::new));
 3.求和
 // 计算店铺中的商品总价格
 BigDecimal shopTotalMoney = BigDecimal.ZERO;
 goodsTotalMoney = goodsBaseInfoVO1List.
 stream().
 map(GoodsBaseInfoVO1::getPrice).
 reduce(BigDecimal.ZERO, BigDecimal::add);
 4.取集合的交集
 ListgoodCateIdList=shopCateList.stream().filter(item -> goodsGroupRelCateList.contains(item)).collect(toList());
 5.过滤集合的重复元素
 List uniqueTreeNodeList=treeNodeList.stream().distinct().collect(Collectors.toList());
 6.按条件进行过滤
 list.stream().filter(user-> user.getId() > 5 && “1组”.equals(user.group)).collect(Collectors.toList());
 List collect = cityProperties.getDistricts().stream().filter(p -> p.getParentCode().equals(code))
 .collect(Collectors.toList());
 7.对集合进行分组
 //List 以ID分组 Map<Integer,List>
 Map<Integer, List> groupBy = appleList.stream().collect(Collectors.groupingBy(Apple::getId));
 System.err.println(“groupBy:”+groupBy);
 {1=[Apple{id=1, name=‘苹果1’, money=3.25, num=10}, Apple{id=1, name=‘苹果2’, money=1.35, num=20}], 2=[Apple{id=2, name=‘香蕉’, money=2.89, num=30}], 3=[Apple{id=3, name=‘荔枝’, money=9.99, num=40}]}