Java list 转map
时间: 2024-06-19 14:00:58 浏览: 17
在Java中,将List转换为Map可以通过多种方式实现,具体取决于你的需求和List以及Map的具体类型。这里提供一种常见的方法,即使用Java 8的Stream API和Collectors来完成。假设你有一个List<String>,代表键,和另一个List<Object>,代表值,你可以这样做:
```java
import java.util.*;
import java.util.stream.Collectors;
// 假设你有以下两个List
List<String> keys = Arrays.asList("key1", "key2", "key3");
List<Object> values = Arrays.asList("value1", "value2", "value3");
// 使用Collectors.toMap构建一个新的Map
Map<String, Object> map = keys.stream()
.collect(Collectors.toMap(key -> key, Function.identity(), (oldValue, newValue) -> newValue)); // 如果值有冲突,可以选择保留旧值(oldValue)或新值(newValue)
// 注意,如果List的长度不同,或者键已经存在于Map中,这个映射可能会抛出异常,你需要处理这种情况
```
这里`Function.identity()`用于保持值不变,`oldValue, newValue -> newValue`是一个合并策略,如果键已经存在,则新值会覆盖旧值。