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

ops/2024/10/22 21:42:45/

如果你有两个同样大小的列表,并且想要将它们组装成一个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.ppmy.cn/ops/127665.html

相关文章

uniapp获取底部导航tabbar的高度(H5)

uniapp获取底部导航tabbar的高度&#xff08;H5&#xff09; <view :style"bottom: tabBarHeight px;"> </view>tabBarHeight: 0, // 底部tabBar高度&#xff0c; h5// #ifdef H5 getTabBarHeight(){const systemInfo uni.getSystemInfoSync()this.t…

LinuxDebian系统安装nginx

1、安装了必要的开发工具和库文件 sudo apt update sudo apt install build-essential libpcre3 libpcre3-dev zlib1g zlib1g-dev libssl-dev2、下载Nginx源码 cd /home/kylin wget http://nginx.org/download/nginx-1.20.1.tar.gz tar -zxvf nginx-1.26.2.tar.gz cd nginx-1…

服务器中使用wss协议连接websocket(基于netty)

前置条件&#xff1a;可用的SSL证书 需要两个文件&#xff0c;key格式的还有pem格式的 如果是阿里云证书&#xff0c;下面Nginx类型的就可以 快捷转移——数字证书管理服务管理控制台 (aliyun.com) 自建证书 以管理员形式打开cmd窗口&#xff0c;如果提示keytool不存在&…

three.js 使用geojson ,实现中国地图区域,边缘流动效果

three.js 使用geojson &#xff0c;实现中国地图区域&#xff0c;边缘流动效果 在线链接&#xff1a;https://threehub.cn/#/codeMirror?navigationThreeJS&classifyexpand&idgeoBorder 国内站点预览&#xff1a;http://threehub.cn github地址: https://github.co…

Golang文件操作:读取与写入全攻略

文章目录 1. 文件操作基础2. 文件的打开和创建2.1 打开文件2.2 创建文件 3. 文件写入操作3.1 使用os.File.WriteString写入字符串3.2 使用bufio进行缓冲写入 4. 文件读取操作4.1 按行读取文件4.2 一次性读取整个文件 5. 文件权限与打开模式详解5.1 使用os.OpenFile设置文件打开…

【接口限流】java中springboot实现接口限流防抖处理(JUC注解版)

文章目录 1、添加pom项目依赖2、注解类RateLimit3、限流切面RateLimitAspect4、controller层使用注解小结 1、添加pom项目依赖 <!--AspectJ来实现切面&#xff0c;在方法执行前进行限流检查--><dependency><groupId>org.aspectj</groupId><artifact…

学习第三十六行

QValidator::State里面state为0&#xff0c;完全不匹配&#xff0c;1&#xff0c;部分匹配&#xff0c;2&#xff0c;完全匹配,对于label或者textedit里面的字符均为QString类型&#xff0c;特别是遇到数字&#xff0c;需要QString::number转化&#xff0c;对于正则表达式&…

【Docker项目实战】使用Docker部署HumHub社交网络平台

【Docker项目实战】使用Docker部署HumHub社交网络平台 一、HumHub介绍1.1 HumHub简介1.2 HumHub特点1.3 主要使用场景二、本次实践规划2.1 本地环境规划2.2 本次实践介绍三、本地环境检查3.1 检查Docker服务状态3.2 检查Docker版本3.3 检查docker compose 版本四、下载HumHub镜…