Java 8 使用 Stream 把 List 转换为 map
2023-09-27 14:20:30 时间
有这么一个小需求,有 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中list,set,map与数组之间的转换详解
- 批量转换gbk编码的java代码为utf8
- java-BigDecimal百位取整和科学记数法转换
- java List转换为字符串并加入分隔符的一些方法总结
- 《JAVA与模式》之合成模式
- Java环境变量配置
- 十六进制字符串 char 数组 转换 c/c++/java
- 如何写好 Java 业务代码?这也是有很多规范的..
- 《Java核心技术 卷Ⅱ 高级特性(原书第10版)》一1.5 其他的流转换
- SpringKafka消费端配置类ConsumerConfig.java源码
- 转:Java中String与byte[]的转换
- Java 毫秒转换为日期类型、日期转换为毫秒
- JAVA IO
- java List转换和数组互转
- 使用java 将 Spark RDD和DataFrame转换
- JAVA利用Zip4j解压缩【转】
- java全角字符转换为半角 半角转全角
- java实现图片和字符串互相转换的代码
- 大数据必学Java基础(十三):基本数据类型的转换
- 我的Android进阶之旅------>Java文件大小转换工具类 (B,KB,MB,GB,TB,PB之间的大小转换)
- 这些Java基础知识,诸佬们都还记得嘛(学习,复习,面试都可)