java将两个List合并为一个map,其中一个类型为String,另一个为Int
时间: 2023-12-06 21:44:54 浏览: 68
可以使用Java 8的Stream API来实现将两个List合并为一个Map。代码示例如下:
```java
import java.util.*;
import java.util.stream.Collectors;
public class MergeListsToMap {
public static void main(String[] args) {
List<String> keys = Arrays.asList("key1", "key2", "key3");
List<Integer> values = Arrays.asList(1, 2, 3);
Map<String, Integer> map = IntStream.range(0, keys.size())
.boxed()
.collect(Collectors.toMap(keys::get, values::get));
System.out.println(map);
}
}
```
这段代码中,我们先定义了两个List:keys和values。然后使用IntStream.range()方法生成一个IntStream,再调用boxed()方法将其转换为一个Stream<Integer>。接着使用Collectors.toMap()方法将两个List合并为一个Map<String, Integer>。在toMap()方法中,我们传入keys::get和values::get作为KeyMapper和ValueMapper,这样就可以将keys和values中的元素一一对应起来,并存储到Map中。最后输出Map的内容。
阅读全文