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.
)));
添加回答
舉報