我正在寻求帮助将对象列表转换为 Map<String, List<String>>
.
class Person {
private String name;
private int age;
}
我有一个 List<Person>
我想收集 Map<int, List<String>>
键是年龄,值是同龄人的名字列表。
我试过这些行,但没有成功
persons.stream().collect(Collectors.groupingBy(p -> p.getAge()), );
请您参考如下方法:
使用 groupingBy
的重载它接受下游收集器:
Map<Integer, List<String>> map = persons.stream()
.collect(Collectors.groupingBy(Person::getAge,
Collectors.mapping(Person::getName, Collectors.toList())));