java 8的一些新用法
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}]}
總結
以上是生活随笔為你收集整理的java 8的一些新用法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 天翼宽带家庭网关用户:useradmin
- 下一篇: 网络工程师——正则表达式(模糊匹配)