Map<String, List<StationVo>> resultMap = new HashMap<>(); for (StationVo stationVo : stationVos) { if (stationVo.getLevel() != null) { List<StationVo> tmp = resultMap.computeIfAbsent(stationVo.getLevel(), v -> new ArrayList<>()); tmp.add(stationVo); } }这段代码什么意思
时间: 2024-04-29 22:21:36 浏览: 96
mybatis的mapper.xml中resultMap标签的使用详解
5星 · 资源好评率100%
这段代码实现了将一组站点对象按照其等级进行分组的功能。具体实现过程如下:
1. 创建一个空的 HashMap 对象 resultMap,用于存储分组结果;
2. 遍历站点对象列表 stationVos,对于每个站点对象,判断其等级是否为 null;
3. 如果等级不为 null,则通过 computeIfAbsent 方法从 resultMap 中获取对应等级的站点列表对象;
4. 如果获取到的列表对象为 null,则新建一个空的 ArrayList 对象作为该等级的站点列表,并将其放入 resultMap 中;
5. 将当前站点对象添加到对应等级的站点列表中;
6. 最终,resultMap 中存储的就是按照等级分组后的站点对象列表。其中,等级作为 key,对应的站点列表作为 value。
阅读全文