我是Java 8的新手,所以我有一个CollegeGroup列表,并且我有一个具有许多组的Student。每个小组都有一个与学生链接的CollegeGroupMember。有什么办法可以在我的列表(studentCollegeGroups)中返回这些组?

final List<CollegeGroup> studentCollegeGroups = new ArrayList<>();
student.getCollegeGroupMembers().forEach(collegeGroupMember ->
             studentCollegeGroups.add(collegeGroupMember.getCollegeGroup()));

最佳答案

Java 8的最佳实践不是将内容添加到外部列表,而是作为一个流表达式的结果来创建整个列表。在这里,可能是

return student.getCollegeGroupMembers().stream()
    .map(CollegeGroupMember::getCollegeGroup)
    .collect(Collectors.toList());

09-08 06:52