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