想要这个结果集为LinkedHashMap
时间: 2024-09-27 17:00:31 浏览: 22
LonelyInteger-LinkedHashMap
如果你想要将上述的结果集从普通的`Map`转换为`LinkedHashMap`,你需要明确地指定`Collectors.toMap()`方法的一个构造器,提供一个`BinaryOperator`来处理键冲突,并传入` LinkedHashMap::new`作为工厂方法。因为`LinkedHashMap`维护了一个访问顺序的链接列表,所以它保留了插入顺序。
以下是修改后的代码:
```java
Map<Long, List<OrderPickAssistanceBO>> orderPickByRouteId = orderPickDone.stream()
.collect(Collectors.toMap(
OrderPickAssistanceBO::getDeliveryRouteId,
Function.identity(),
(oldValue, newValue) -> oldValue, // 如果键已存在,选择旧值(这里假设你不需要合并)
LinkedHashMap::new // 使用LinkedHashMap的构造函数作为工厂方法
));
```
现在,`orderPickByRouteId`将是一个`LinkedHashMap`,键为`Long`类型,值为`List<OrderPickAssistanceBO>`,并且保持元素按照它们被添加到流中的顺序排列。
阅读全文