假设我有一个名为Student的对象列表。对象Student的定义如下:
public Class Student {
private String studentName;
private String courseTaking;
}
在学生列表中,可能会有多个具有相同 studentName 但不同 courseTaking 的学生对象。现在我想将学生列表转换为 studentName 和 courseTaking 的映射表,如下所示:
Map<String, Set<String>>
关键是studentName,值是同一学生参加的所有courseTaking组合在一起形成一个集合。我如何使用stream() & collect()来实现这个功能?
students.stream().collect(groupingBy(Student::getStudentName, mapping(Student::getCourseTaking, toSet())))
- shmosel