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

论坛 期权论坛 脚本     
匿名技术用户   2020-12-21 19:53   59   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()));
}

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP