参见英文答案 >
Clearest way to combine two lists into a map (Java)? 15个
我有以下内容:
我有以下内容:
List<String> keys List<String> values
我想将这两个列表映射到Map< String,String>使用Java 8 Streams.列表具有相同的大小并以相同的方式排序.
我尝试用以下方法映射这两个
Map<String,String> result= keys.stream(). collect(Collectors.toMap(keys::get,values::get));
但这根本不起作用 – 我怎么能这样做呢?
提前致谢 :)
解决方法
您可以使用IntStream迭代列表的索引:
Map<String,String> result = IntStream.range(0,keys.size()) .Boxed() .collect(Collectors.toMap(i -> keys.get(i),i -> values.get(i)));