2 回答
TA贡献1798条经验 获得超3个赞
Map< String, Set<String>> map = list.stream()
.collect(
Collectors.groupingBy(
A::getFirstName, Collectors.mapping(
A::getLastName, Collectors.toSet())));
您走在正确的轨道上,您需要使用:
Collectors.groupingBy按 进行分组firstName。然后使用下游收集器作为 的
Collectors.mappping第二个参数Collectors.groupingBy来映射到lastName.然后最后
Set<String>通过调用将其收集到 a 中Collectors.toSet:
TA贡献1829条经验 获得超9个赞
你从来没有告诉收集者提取姓氏。
我想你需要类似的东西
list.stream
.collect(groupingBy(
A::getFirstName, // The key is extracted.
mapping( // Map the stream of grouped values.
A::getLastName, // Extract last names.
toSet() // Collect them into a set.
)));
添加回答
举报
