我有以下内容:
List<String> keys
List<String> values
我想使用Java 8 Streams将这两个列表映射到Map<String, String>
。这些列表具有相同的大小,并以相同的方式排序。
我尝试使用以下
来映射这两个Map<String, String> result= keys.stream().
collect(Collectors.toMap(keys::get, values::get));
但这根本不起作用 - 我怎么能这样做呢? 在此先感谢:)
答案 0 :(得分:7)
您可以使用List
迭代IntStream
s的索引:
Map<String, String> result =
IntStream.range(0,keys.size())
.boxed()
.collect(Collectors.toMap(i -> keys.get(i), i -> values.get(i)));