java8

    /**
     * 五种求和方式
     * @Author: Mr.li
     * @Date: 2020/9/8
     */
    @Test
    public void demo3(){
        List<Person> personlist = new ArrayList<>();
        Person person = new Person();
        for(int i=0;i<10;i++){
            person.setId(i);
            person.setName("你好=="+i);
            personlist.add(person);
        }
        Long firstSum = personlist.stream()
                .collect(Collectors.summarizingLong(Person::getId)).getSum();
        Long secondSum = personlist.stream()
                .collect(Collectors.summingLong(Person::getId));
        int thirdSum = personlist.stream()
                .mapToInt(Person::getId).sum();
        Integer forthSum = personlist.stream()
                .collect(Collectors.reducing(0,Person::getId,(i,j)->i+j));

        IntSummaryStatistics stats = personlist.stream().mapToInt(Person::getId).summaryStatistics();
        Long fiveSum = stats.getSum();
        System.out.println(firstSum + ":" + secondSum + ":" + thirdSum + ":" + forthSum + ":" + fiveSum);

    }

redult:

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
原文地址:https://www.cnblogs.com/name-lizonglin/p/13632758.html