当前位置: 代码迷 >> 综合 >> java8 stream ,filter 等功能代替for循环List
  详细解决方案

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

热度:106   发布时间:2023-10-19 02:03:33.0

比如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()));
            }

 

 

  相关解决方案