Stream流规约求和

一、规约求和

当我们有一个集合需要将集合内的某个字段求求和、就需要用到Stream的规约操作,也就是reduce操作

@Test
    public void test2() {
        new Persion(new BigDecimal(1000));
        List<Persion> list = new ArrayList<>();
        list.add(new Persion(new BigDecimal(1000)));
        list.add(new Persion(new BigDecimal(2000)));
        list.add(new Persion(new BigDecimal(3000)));
        list.add(new Persion(new BigDecimal(4000)));
        list.add(new Persion(new BigDecimal(5000)));
        // 规约操作求和
        // 写法1
        Optional<BigDecimal> reduce = list.stream().map(Persion::getInCome).reduce(BigDecimal::add);
        // 写法2
        list.stream().map(Persion::getInCome).reduce((a,b)-> {return a.add(b);});


    }

你可能感兴趣的:(Stream流规约求和)