List<TblScmTaskAirlinePartition> tblScmTaskAirlinePartitions = tblScmTaskAirlinePartitionMapper.selectList(wrapper); 用stream流怎么转map
时间: 2024-12-01 09:30:25 浏览: 3
<pre>线包装「<pre> Line Wrapper」-crx插件
将 `List<TblScmTaskAirlinePartition>` 转换为 `Map<String, TblScmTaskAirlinePartition>` 的 Stream 流处理方式如下:
```java
Map<String, TblScmTaskAirlinePartition> map = tblScmTaskAirlinePartitions.stream()
.collect(Collectors.toMap(
TblScmTaskAirlinePartition::getId, // 使用 getId() 方法作为 key 函数
Function.identity(), // 或者使用 Object本身作为 value,identity() 函数表示保持原样
(oldValue, newValue) -> oldValue, // 如果有冲突,则使用旧值,这里可以省略,因为默认会抛出 IllegalStateException
HashMap::new // 容器类型,这里是 HashMap
));
```
上述代码首先通过 `Stream#collect` 方法收集数据,`toMap` 函数用于创建映射,它需要提供 key 函数、value 映射函数以及合并冲突的策略。在这个例子中,我们假设每个元素有一个 `getId()` 方法作为唯一的键,如果不希望改变已有的元素,就直接忽略合并策略。
阅读全文