stream之reduce方法

视频地址:

image-20220822231200746

    @AllArgsConstructor
    @NoArgsConstructor
    @Data
    static class Student {
        private String name;
        private Integer age;
    }
    @Test
    public void test5() {
        List<Student> list = Arrays.asList(new Student("张三", 18), new Student("李四", 19));
        //求年龄总和
        Integer sum = list.stream().map(Student::getAge).reduce(0, (result, element) -> result + element);
        //求年龄的最大值,用reduce
        Integer max = list.stream().map(Student::getAge).reduce(Integer.MIN_VALUE, (result, element) -> result > element ? result : element);
        //reduce一个参数的重载形式内部的计算
       list.stream().map(Student::getAge).reduce((result, element) -> result > element ? result : element).ifPresent(System.out::println);
    }

image-20220822231142576

posted @ 2022-11-03 10:41  进击的小蔡鸟  阅读(245)  评论(0)    收藏  举报