java8新特性,根据品项ID分组求和

  • Post author:
  • Post category:java


   StockBillItemDTO  stockBillItemDTO;
        List<StockBillItemDTO> stockBillItemList = new ArrayList<>();

        for (int i = 0; i < 5; i++) {
            stockBillItemDTO = new StockBillItemDTO();
            stockBillItemDTO.setProductItemId(46446466L);
            stockBillItemDTO.setStockNum(new BigDecimal(5555.00));
            stockBillItemDTO.setBillId(11111L + i);
            stockBillItemList.add(stockBillItemDTO);
        }

        stockBillItemList.stream().collect(Collectors.groupingBy(StockBillItemDTO::getProductItemId))
                .forEach((productItemId, itemList) -> {
                    BigDecimal stockNum = itemList.stream().map(StockBillItemDTO::getStockNum).reduce(BigDecimal.valueOf(0f), BigDecimal::add);
                    System.out.println("stockNum = " + stockNum);
                });

    }



版权声明:本文为m0_56095048原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。