当前位置: 首页 > article >正文

如何将两个同样大小的List组装成一个Map?

如果你有两个同样大小的列表,并且想要将它们组装成一个Map,其中第一个列表的元素作为key,第二个列表的元素作为value,你可以使用Java 8的流(Stream)API来实现这一操作。

// 假设这是你的两个同样大小的列表
List<Long> userIdList = List.of(1L, 2L, 3L);
List<String> userNameList = List.of("张三", "李四", "王五");

// 使用流API将两个列表组装成一个Map
Map<Long, String> memberMap = IntStream.range(0, userIds.size()).boxed().collect(Collectors.toMap(index -> userIdList.get(index), index -> userNameList.get(index)));

在这个示例中,我们使用了IntStream.range(0, memberIds.size())来创建一个索引流,这个流包含了从0到memberIds.size() - 1的整数。然后,我们使用boxed()方法将IntStream转换为Stream<Integer>,这样就可以使用Collectors.toMap收集器来组装Map了。

Collectors.toMap收集器接受两个函数参数:第一个函数用于从流元素中提取键,第二个函数用于从流元素中提取值。在这里,我们使用列表的get方法和索引来获取对应的键和值。

请注意,如果两个列表的大小不同,这种方法会抛出因此,确保两个列表的大小相同是非常重要的。


http://www.kler.cn/news/360716.html

相关文章:

  • 【学习笔记】网络设备(华为交换机)基础知识 9 —— 堆叠配置
  • 【原创】java+ssm+mysql校园在线答疑管理系统设计与实现
  • 【K8S系列】Kubernetes node节点NotReady问题及解决方案详解【已解决】
  • Spring 事务支持
  • 路由器原理和静态路由配置
  • Vue 3 项目里通过自定义指令实现图片懒加载
  • 02_MVCC-版本链管理
  • json路径 [‘a‘].b.c[0].d[‘1‘].f,具体代表什么意思
  • 无人机之标校技术篇
  • Java项目-基于springboot框架的网上图书商城项目实战(附源码+文档)
  • springboot034在线商城系统设计与开发-代码(论文+源码)_kaic
  • 「UCD」ComfyUI设计提效工具
  • 滚雪球学Redis[9.1讲]:Redis常见问题排查指南:解决错误、优化性能与确保数据一致性
  • sql高级
  • APIJSON 为零代码提供了新的思路
  • H-TCP 的效率和公平性
  • oracle19c的k8s部署
  • 【可答疑】基于51单片机的智能空调(含仿真、代码、报告、演示视频等)
  • Java密封类(Sealed Classes)增强详解
  • WPF入门_04绑定