【发布时间】:2017-07-10 17:49:49
【问题描述】:
我是 Java 8 的新手,所以我有一个 CollegeGroup 列表,我有一个 Student 有很多组。每个小组都有一个与学生相关联的CollegeGroupMember。有没有办法在我的列表中返回这些组(studentCollegeGroups)?
final List<CollegeGroup> studentCollegeGroups = new ArrayList<>();
student.getCollegeGroupMembers().forEach(collegeGroupMember ->
studentCollegeGroups.add(collegeGroupMember.getCollegeGroup()));
【问题讨论】:
-
你的代码有什么问题?
-
使用
map(CollegeGroupMember::getCollegeGroup).forEach(studentCollegeGroups::add)或map(...).collect(Collectors.toList())收集返回给您的列表中的组。奖励:映射到 CollegeGroup 后,您可以使用 distinct() 或 sorted() 中间操作,可以对组而不是成员进行操作。 -
谢谢!我也需要 distinct(),非常感谢。