前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java 8 使用 Stream 把 List 转换为 map

Java 8 使用 Stream 把 List 转换为 map

原创
作者头像
HoneyMoose
发布2023-01-13 19:33:13
4150
发布2023-01-13 19:33:13
举报
文章被收录于专栏:CWIKIUSCWIKIUS

有这么一个小需求,有 2 个 List,但是我们希望返回 Map。

List 1 的数据到大于 List 2 中的数据。

返回 List1 的 map,如果 List 中的数据在 List 2 中存在的话,Map 的值是 True,如果不存在的话,是 False。

List1 和 List2 中的元素都是整数。

Stream

我们使用了 Java 提供的 Stream,当然你也可以用 For 循环。

下面的 map1 和 map 2 是等价的。

代码语言:javascript
复制
        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);
2023-01-13_06-25-21
2023-01-13_06-25-21

然后验证下结果。

https://www.ossez.com/t/java-8-stream-list-map/14296

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Stream
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档