list - Java 8:如何从两个字符串列表中创建映射
问题描述
我有两个清单:
List<String> ids
List<String> names
任务是从这两个列表中创建一个Map<String,String>
,最好使用 Java 8。不幸的是,当我们有 String 类型的列表时,我没有找到如何创建它。
解决方案
假设两个列表的大小相同,并且 id 是唯一的,并且 id 是地图的键,名称是对应的值,您可以使用以下代码创建地图:
Map<String,String> idsNames = IntStream.range(0,ids.size())
.mapToObj(i -> new AbstractMap.SimpleEntry<>(ids.get(i),names.get(i)))
.collect(Collectors.toMap(AbstractMap.SimpleEntry::getKey,
AbstractMap.SimpleEntry::getValue));
推荐阅读
- java - 如何让服务保持 24 小时有效?
- django - django-admin dbshell 引发 django.core.exceptions.ImproperlyConfigured
- python - 我可以在pybel格式转换期间捕获警告消息吗?
- wordpress - Wordpress 电子邮件发送到错误的邮件服务器
- ios - 在 Swift 4 中加载应用程序时崩溃?
- xpath - 带有原子命名空间的scrapy的Xpath
- python - 为什么按位运算符比乘法/除法/模运算慢?
- vba - 从两个组合框转换值以构建表格
- java - Java Spring Async 如何管理线程?
- java - 在 Visual Studio 代码编译错误中调试 Java