开发过程中遇到的list的遍历,查询值,求和、最大值、最小值的情况都可以使用stream()来实现;
具体应用:
//double类型求和:
list.stream().mapToDouble(User::getHeight).sum()//和
list.stream().mapToDouble(User::getHeight).max()//最大
list.stream().mapToDouble(User::getHeight).min()//最小
list.stream().mapToDouble(User::getHeight).average()//平均值
//int类型求和:
Integer storeCount=list1.stream().mapToInt(ListEstoreStockStoreDetailResultDto ::getAvailableQuantity).sum();
list查询符合条目的条数:
//所有库存明细list
List<ListStoreDetailDto> list=getList();
//根据skuid获取符合的条目;
List<ListStoreDetailDto> list1 =
list
.stream()
.filter(addr -> addr.getItemSkuId().equals(tradeOrderItems.getSkuId()))
.collect(Collectors.toList());
stream()是个好东西啊!