【发布时间】:2022-01-26 22:34:37
【问题描述】:
我有一个包含班级的学校列表,其中还包含学生的班级列表和学生也是另一个列表。我想应用两个嵌套过滤器,首先将检查是否有任何班级有一个空的学生列表,第二个过滤器用于检查学校是否有任何空班级列表,最后它应该返回列表,但我不能应用两个过滤器嵌套时,我不断收到语法错误。我对流 api 有点陌生。
result = result.stream()
.filter(school -> school.getSchoolClassList().stream()
.filter(schoolClass-> schoolClass.getStudentList().stream()
.anyMatch(schoolClass-> schoolClass.getStudentList().size() > 0))
.anyMatch(school -> school.getSchoolClassList().size() > 0))
.collect(Collectors.toList());
【问题讨论】:
-
只需使用
.filter(cls-> cls.getStudentList().size() > 0),无需流式传输该列表。 -
很抱歉,结果并不是我真正想要的。我想过滤班级和学校数组。
标签: java list filtering lightweight-stream-api