Java 8 使用 Stream 把 List 转换为 map
有这么一个小需求,有 2 个 List,但是我们希望返回 Map。
List 1 的数据到大于 List 2 中的数据。
返回 List1 的 map,如果 List 中的数据在 List 2 中存在的话,Map 的值是 True,如果不存在的话,是 False。
List1 和 List2 中的元素都是整数。
Stream
我们使用了 Java 提供的 Stream,当然你也可以用 For 循环。
下面的 map1 和 map 2 是等价的。
List<Integer> reqIds = Arrays.asList(1, 2);
List<Integer> reqs = Arrays.asList(1);
Map<Integer, Boolean> map1 = reqIds.stream().collect(Collectors.toMap(Function.identity(), item -> reqs.contains(item)));
Map<Integer, Boolean> map2 = reqIds.stream().collect(Collectors.toMap(Function.identity(), reqs::contains));
log.debug("Map Size {}",map2);
然后验证下结果。
分类:
Java
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
2021-01-13 Spring Boot 创建一个可以执行的 Jar
2019-01-13 Spring Batch 基本的批处理指导原则
2019-01-13 Spring Batch 体系结构
2019-01-13 Spring Batch 使用场景
2019-01-13 Spring Batch 背景