java List<String>转map
时间: 2024-05-06 13:18:39 浏览: 109
可以使用Java 8中的流(Stream)API来将List<String>转换为Map<String, String>,其中List<String>的每个元素都是由等号分隔的键值对。可以按照以下步骤操作:
1. 将List<String>转换为Stream<String>。
2. 将每个字符串元素进一步拆分为键和值,然后将它们映射到一个Map.Entry对象中。
3. 将所有Map.Entry对象收集到一个Map<String, String>中。
以下是示例代码:
```
List<String> list = Arrays.asList("key1=value1", "key2=value2", "key3=value3");
Map<String, String> map = list.stream()
.map(s -> s.split("="))
.collect(Collectors.toMap(a -> a[0], a -> a[1]));
```
在这个例子中,我们使用Arrays.asList()方法创建一个包含键值对的List<String>。然后,我们使用Stream API的map()函数将List<String>转换为一个由键值对组成的Stream<Map.Entry<String, String>>。在map()函数中,我们使用split()方法将每个字符串元素拆分为键和值,并将它们映射到一个Map.Entry对象中。最后,我们使用collect()方法将所有Map.Entry对象收集到一个Map<String, String>中,其中键是数组中的第一个元素,值是数组中的第二个元素。
注意,以上代码假定每个字符串元素都是由等号分隔的键值对。如果您的List<String>元素不是这种格式,您需要使用不同的分隔符或使用正则表达式来拆分每个元素。
阅读全文