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

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

1.

/**

* 班级类

*/

Class Grade{

private Long id;//班级ID

private String className;//班级名称

private List students;//学生

...(get set方法)

}

2.

/**

* 学生类

*/

Class Grade{

private Long id;//学生ID

private Long classId;//班级ID

private String studentName;//学生名称

...(get set方法)

}

3.调用方法

List ListA = ...;//班级

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

 

 

你可能感兴趣的:(java后台技术)