• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

Java8 Stream flatmap

java8 来源:Weison Wei 1次浏览

Java8 Stream flatmap

flatMap用于把Stream中的层级结构扁平化并返回Stream,入参出参都是Stream

    public static void main(String[] args) { 
    
        List<Student> classOneStudents = new ArrayList<>();
    	List<Student> classTwoStudents = new ArrayList<>();
    	List<Student> classThreeStudents = new ArrayList<>();
    	List<List<Student>> students = new ArrayList<>();
    	
        classOneStudents.add(Student.builder().age(18).name("Weison").score(90).build());
        classOneStudents.add(Student.builder().age(19).name("Evan").score(80).build());
        classOneStudents.add(Student.builder().age(20).name("Jack").score(70).build());
        classOneStudents.add(Student.builder().age(21).name("Luis").score(60).build());

        classTwoStudents.add(Student.builder().age(19).name("Elen").score(80).build());
        classTwoStudents.add(Student.builder().age(20).name("Obam").score(70).build());
        classTwoStudents.add(Student.builder().age(21).name("Bush").score(60).build());

        classThreeStudents.add(Student.builder().age(20).name("Jackson").score(70).build());
        classThreeStudents.add(Student.builder().age(21).name("Linn").score(60).build());
        students.add(classOneStudents);
        students.add(classTwoStudents);
        students.add(classThreeStudents);
        
        //5 flatMap 把Stream中的层级结构扁平化并返回Stream
        List<Student> studentList = students
                .stream()
                .flatMap(List::stream)
                .collect(Collectors.toList());
                
        //展开多个List合并到一个新list
        studentList
                .stream()
                .forEach(System.out::println);
}

版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)