java8 stream ,filter 等功能代替for循环List

比如ListA得id与ListB的classId相同时,将ListB中相同classId的数据放到ListA中

1.

/**

* 班级类

*/

Class Grade{

private Long id;//班级ID

private String className;//班级名称

private List<Student> students;//学生

…(get set方法)

}

2.

/**

* 学生类

*/

Class Grade{

private Long id;//学生ID

private Long classId;//班级ID

private String studentName;//学生名称

…(get set方法)

}

3.调用方法

List<Grade> ListA = …;//班级

List<Student> ListB = …;//学生
for(int i=0;i<ListA .size();i++) {
  Grade grade= ListA.get(i);
  grade.setStudents(ListB .stream().filter(a -> a.classId().longValue() ==grade.getId().longValue())
                    .collect(Collectors.toList()));
            }

 

 

    原文作者:普if加的帕
    原文地址: https://blog.csdn.net/qq_34896887/article/details/82760120
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞