使用stream流将list集合中某一BigDecimal字段求和

public class StreamTest {
    @Data
    @Builder
    public static class Apple {
        private Integer id;
        private String name;
        private BigDecimal price;
    }

    private static List<Apple> list = new ArrayList<>();

    static {
        list.add(Apple.builder().id(1).name("苹果1").price(new BigDecimal("1")).build());
        list.add(Apple.builder().id(2).name("苹果2").price(new BigDecimal("2")).build());
        list.add(Apple.builder().id(3).name("苹果3").price(new BigDecimal("3")).build());
    }


    @Test
    @DisplayName("list集合中某一BigDecimal字段求和")
    public void test1() {
        BigDecimal totalPrice = list.stream().map(Apple::getPrice).reduce(BigDecimal.ZERO, BigDecimal::add);
        System.out.println(totalPrice);
    }
}

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