Java8实际案例

计算某个字段的价格,并排除某个字段

IntSummaryStatistics stats = goodIdList.stream().filter(good->good.getStatus().equals(OrderCheckGoodEnum.NOT_CHECK.getType()))

            .mapToInt((x) -> x.getGoodsNum()).summaryStatistics();

取出集合当中某个字段的最大值,并取出那条数据

MurlocOrderCheckGoods goods=goodIdList.stream()

            .filter(good->good.getStatus().equals(OrderCheckGoodEnum.CHECK.getType()))

            .max(Comparator.comparingInt(MurlocOrderCheckGoods::getGoodsNum)).get();

分组

Map<Integer, List<MurlocOrderCheckGoods>> goodIdMap=vidList.stream().collect(Collectors.groupingBy(MurlocOrderCheckGoods::getGoodsId));

while循环

Iterator it = orderIdList.entrySet().iterator();

            while (it.hasNext()) {

Map.Entry pairs = (Map.Entry)it.next();

}

分组并计算某个字段总和

List<TodatOrderVO> todatOrderVOs=new ArrayList<>();

      Map<Integer, IntSummaryStatistics> collect =checkGoods.stream()

      .collect(Collectors.groupingBy(MurlocOrderCheckGoods::getGoodsId

      ,Collectors.summarizingInt(MurlocOrderCheckGoods::getGoodsNum)));

取出集合当中第一条数据

MurlocOrderCheckGoods goods=checkGoods.stream().filter(good->good.getGoodsId().equals(vidPairs.getKey())).findAny().get();

猜你喜欢

转载自blog.csdn.net/weixin_34391445/article/details/90773949