Java 8 : Merge 2 String Lists into Map

标签 java list java-8 hashmap java-stream

<分区>

我有以下内容:

List<String> keys
List<String> values

我想将这两个列表映射到 Map<String, String>使用 Java 8 流。这两个列表的大小相同,排序方式也相同。

我试着用下面的映射这两个

Map<String, String> result= keys.stream().
        collect(Collectors.toMap(keys::get, values::get));

但这根本不起作用 - 我该如何正确地做到这一点? 提前致谢:)

最佳答案

您可以使用 IntStream 遍历 List 的索引:

Map<String, String> result =
    IntStream.range(0,keys.size())
             .boxed()
             .collect(Collectors.toMap(i -> keys.get(i), i -> values.get(i)));

关于Java 8 : Merge 2 String Lists into Map,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46873916/

相关文章:

java - 坐标 (x,y) 呈指数递减

java - 如何获取动态生成的组件的值?

java - Selenium 无法在 iframe 中定位元素

java - 将对象克隆到列表中,并为每个项目更改多个值

list - 插入顺序的ListSet

java - 如何通过 Stream 将 HashMap<String, Long> 更改为 LinkedHashMap<String, Long>

java - 从Android 2.1瞄准Android 1.6平台

python - 检查列表中字符串内的字符串

date - 获取本周第一天和当前时间 JDK 8 之间的时间范围

java - 如何使用 java 8 创建抽象函数