java List里对象某属性的求和
1.计算一个number类型的List对象总和
Integer[] integerArray = {1, 3, 15, 10, 16}; List<Integer> list = new ArrayList<>(Arrays.asList(integerArray)); IntSummaryStatistics summaryStatistics = list.stream().mapToInt((s) -> s).summaryStatistics(); System.out.println("总和:" + summaryStatistics.getSum()); System.out.println("平均数:" + summaryStatistics.getAverage()); System.out.println("总个数:" + summaryStatistics.getCount()); System.out.println("最大值:" + summaryStatistics.getMax()); System.out.println("最小值:" + summaryStatistics.getMin());
2.计算一个List对象中某个字段总和
2.1求和字段属性为Integer时:
LambdaQueryWrapper<TransportInfo> queryWrapper2 =Wrappers.lambdaQuery(TransportInfo.class); queryWrapper2.eq(TransportInfo::getStartContainerFactoryId,fId);
List<TransportInfo> list=transportInfoService.list(queryWrapper2);
Integer tTotal=list.stream().collect(Collectors.summingInt(TransportInfo::getContainerUse));
2.2求和字段属性为BigDecimal时:
BigDecimal totalCost = list.stream().map(StatisticsFinanceCostDetail::getRmbAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
