List<ZbcQsjdrzlbaTjQueryResult> queryResultList = zbglXtZbcjsjgMapper.queryjdrzlZzdw(zbcQsjdrzlbaTjQueryParam); Map<String, String> jdrzlRybmMap = queryResultList.stream().collect(Collectors.toMap(ZbcQsjdrzlbaTjQueryResult::getRybm , ZbcQsjdrzlbaTjQueryResult::getDwbm)); Map<String, String> jdrzlDwmcMap = queryResultList.stream().collect(Collectors.toMap(ZbcQsjdrzlbaTjQueryResult::getRybm , ZbcQsjdrzlbaTjQueryResult::getDwmc)); 优化一下代码
时间: 2024-02-24 15:59:13 浏览: 64
Java中 List《map》把里面map中某个key相同记录的其他key 的 value 合并
可以考虑将两个stream的操作合并为一个,避免重复遍历queryResultList。具体实现如下:
```
Map<String, String> jdrzlRybmMap = new HashMap<>();
Map<String, String> jdrzlDwmcMap = new HashMap<>();
queryResultList.forEach(result -> {
jdrzlRybmMap.put(result.getRybm(), result.getDwbm());
jdrzlDwmcMap.put(result.getRybm(), result.getDwmc());
});
```
这样可以将查询结果只遍历一次,并且使用forEach代替了stream操作,提高了代码的性能和可读性。
阅读全文