Map<String, TrCardInfoGatherExtTemp> reportEsDTOMap = trCardInfoGatherExtTemps.stream() .collect(Collectors.toMap(subCardInfo -> subCardInfo.getDevId() + subCardInfo.getSlot() + subCardInfo.getSubSlot(), subCardInfo -> subCardInfo)); 这段代码改为map的key由前两个参数组成,map的value是list对象
时间: 2024-03-17 16:39:52 浏览: 23
可以使用`Collectors.groupingBy()`方法来实现按照key分组的功能,将每个key对应的value存放在一个List中:
```
Map<String, List<TrCardInfoGatherExtTemp>> reportEsDTOMap = trCardInfoGatherExtTemps.stream()
.collect(Collectors.groupingBy(subCardInfo -> subCardInfo.getDevId() + subCardInfo.getSlot()));
```
这样就能够实现将前两个参数组成的key对应的value存放在一个List中了。如果需要将List中的元素按照第三个参数进行排序,可以在`groupingBy()`方法中传入一个排序函数,例如:
```
Map<String, List<TrCardInfoGatherExtTemp>> reportEsDTOMap = trCardInfoGatherExtTemps.stream()
.collect(Collectors.groupingBy(subCardInfo -> subCardInfo.getDevId() + subCardInfo.getSlot(),
Collectors.mapping(subCardInfo -> subCardInfo, Collectors.toList())));
```
其中`Collectors.mapping()`方法可以将每个元素映射为它自己,这样就能够得到一个List了。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)