Baz*_*uka 7 java-8 java-stream
嗨我想要一个字符串代表每个老师的名字串联,因此我需要使用两者Collectors.toSet, Collectors.joining(", ")如何在1个组合线中使用它们?我只能分别制作其中的每一个我怎样才能做到这两个?
students.stream().collect(Collectors.groupingBy(student -> student.getTeacherName(), mapping(student -> student.getName(), toSet())
students.stream().collect(Collectors.groupingBy(student -> student.getTeacherName(), mapping(student -> student.getName(), joining(", "))
Run Code Online (Sandbox Code Playgroud)
你应该可以使用collectingAndThen():
students.stream()
.collect(groupingBy(Student::getTeacherName,
mapping(Student::getName,
collectingAndThen(toSet(), set -> String.join(", ", set)))))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1946 次 |
| 最近记录: |