Yeg*_*kin 3 java java-8 java-stream
我有groupingBy收集问题.在我的例子中,列表中的所有元素都具有唯一addressType值.我想得到一个Map<String, Address>但是有Map<String, Optional<Address>>
List<Address> list = ....
Map<String, Optional<Address>> collect = list.stream()
.collect(Collectors.groupingBy(Address::getAddressType,
Collectors.reducing((o, o2) -> o)));
Run Code Online (Sandbox Code Playgroud)
因为all elements in list have unique addressType value,Collectors.groupingBy在这种情况下没有理由使用.Collectors.toMap改为使用:
Map<String, Address> collect =
list.stream()
.collect(Collectors.toMap(Address::getAddressType,
Function.identity()));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
250 次 |
| 最近记录: |