Jon*_*nes 3 java java-8 java-stream collectors
我有一个订单列表,我想用户使用Java 8 流和Collectors.groupingBy对它们进行分组:
orderList.stream().collect(Collectors.groupingBy(order -> order.getUser())
Run Code Online (Sandbox Code Playgroud)
这将返回包含用户和订单列表的地图:
Map<User, List<Order>>
Run Code Online (Sandbox Code Playgroud)
我不需要整个对象的用户只是一个IT领域的用户名是一个字符串,所以我想是这样的:
Map<String, List<Order>>
Run Code Online (Sandbox Code Playgroud)
我尝试使用Stream.map将用户映射到用户名字段,但无法正确使用.我怎样才能尽可能简单地做到这一点?
Leo*_*eon 12
您可以使用groupingBy收集器username而不是整个User对象:
orderList.stream().collect(Collectors.groupingBy(order -> order.getUser().getUsername())
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
848 次 |
| 最近记录: |