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 次 |
最近记录: |