当前位置:网站首页>List转Map的几种方式
List转Map的几种方式
2022-08-03 00:56:00 【道阻且长-行则将至-行而不辍-未来可期】
前言需求:
需要记录下之前List的转Map的使用方法,感觉好记性不如烂笔头,记录下之前使用过的List转成Map的实现java逻辑代码
RuleExpress ruleExpress = new RuleExpress();
ruleExpress.setNewsType(1);
List<RuleExpress> commonRuleExpressList = ruleExpressDao.listRuleExpresss(ruleExpress);
Map<String, List<RuleExpress>> commonRuleExpressMap = commonRuleExpressList.stream().collect(Collectors.groupingBy(RuleExpress::getType, LinkedHashMap::new, Collectors.toList()));
ContantData.setCommonNewsRuleExpressMap(commonRuleExpressMap);
ruleExpress.setNewsType(2);
List<RuleExpress> fastNewsRuleExpressList = ruleExpressDao.listRuleExpresss(ruleExpress);
Map<String, List<RuleExpress>> fastNewsRuleExpressMap = fastNewsRuleExpressList.stream().collect(Collectors.groupingBy(RuleExpress::getType, LinkedHashMap::new, Collectors.toList()));
ContantData.setFastNewsRuleExpressMap(fastNewsRuleExpressMap);
Map<Integer, List<Student>> commonMap = list.stream().collect(Collectors.groupingBy(Student::getNo, LinkedHashMap::new, Collectors.toList()));
Student noMax = list.stream().max(Comparator.comparing(Student::getNo)).get();
List<Student> maxList=commonMap.get(noMax.getNo());
System.out.println("------最大的列表---------");
System.out.println(maxList.toString());
System.out.println("---------------"); @Override
public Map<Integer, Map<String, String>> getNewsRangeConfig() {
QueryWrapper<TbmNewsRangeConfig> queryWrapper = new QueryWrapper();
queryWrapper.orderByAsc("id");
List<TbmNewsRangeConfig> tbmNewsRangeConfigList = tbmNewsRangeConfigMapper.selectList(queryWrapper);
Map firstLevelCodeMap = tbmNewsRangeConfigList.stream().collect(Collectors.groupingBy(TbmNewsRangeConfig::getFirstLevelCode, LinkedHashMap::new, Collectors.toMap(TbmNewsRangeConfig::getFirstLevelCode, TbmNewsRangeConfig::getFirstLevelName, (k1, k2) -> k1)));
Map secondLevelCodeMap = tbmNewsRangeConfigList.stream().collect(Collectors.groupingBy(TbmNewsRangeConfig::getSecondLevelCode, LinkedHashMap::new, Collectors.toMap(TbmNewsRangeConfig::getSecondLevelCode, TbmNewsRangeConfig::getSecondLevelName, (k1, k2) -> k1)));
Map thirdLevelCodeMap = tbmNewsRangeConfigList.stream().collect(Collectors.groupingBy(TbmNewsRangeConfig::getThirdLevelCode, LinkedHashMap::new, Collectors.toMap(TbmNewsRangeConfig::getThirdLevelCode, TbmNewsRangeConfig::getThirdLevelName, (k1, k2) -> k1)));
Map fourthLevelCodeMap = tbmNewsRangeConfigList.stream().collect(Collectors.groupingBy(TbmNewsRangeConfig::getFourthLevelCode, LinkedHashMap::new, Collectors.toMap(TbmNewsRangeConfig::getFourthLevelCode, TbmNewsRangeConfig::getFourthLevelName, (k1, k2) -> k1)));
Map<Integer, Map<String, String>> result = new LinkedHashMap<>();
result.put(1, firstLevelCodeMap);
result.put(2, secondLevelCodeMap);
result.put(3, thirdLevelCodeMap);
result.put(4, fourthLevelCodeMap);
return result;
}边栏推荐
猜你喜欢
随机推荐
从 npm 切换到 pnpm,真香!
236. 二叉树的最近公共祖先
Violence recursion to dynamic programming 08 (pony go chess)
VS Code 这么牛,再次印证了一句名言
236. The binary tree in recent common ancestor
怎么做postgrsql主备?
电信业务分类
2022 开放原子全球开源峰会 | 麒麟信安携手openEuler助力开源产业繁荣发展
一套开源的可快速搭建自己的物联网/智能家居系统源码
async-await
一个接口并发问题的模拟与复现
SAP ABAP OData 服务如何支持修改(Update)操作试读版
6-接口跨域处理
letcode 第20题-有效的括号
1686. 石子游戏 VI
Go高性能之方法接收器 - 指针vs值
并发模型和I/O模型介绍
2022-08-02:小红拿到了一个大立方体,该大立方体由1*1*1的小方块拼成,初始每个小方块都是白色。 小红可以每次选择一个小方块染成红色, 每次小红可能选择同一个小方块重复染色, 每次染色以后,
在表格数据上,为什么基于树的模型仍然优于深度学习?
7.31









