Diy*_*yyu 2 java java-8 java-stream
我正在寻找一些帮助将对象列表转换为Map<String, List<String>>
.
class Person {
private String name;
private int age;
}
Run Code Online (Sandbox Code Playgroud)
我有一个List<Person>
,我想收集Map<int, List<String>>
关键是年龄和价值是同龄人的名单.
我试过这些线但是没有用
persons.stream().collect(Collectors.groupingBy(p -> p.getAge()), );
Run Code Online (Sandbox Code Playgroud)
使用此重载groupingBy
接受下游收集器:
Map<Integer, List<String>> map = persons.stream()
.collect(Collectors.groupingBy(Person::getAge,
Collectors.mapping(Person::getName, Collectors.toList())));
Run Code Online (Sandbox Code Playgroud)