list<String>转化为List<Map<String,String>> 用java8新特性
时间: 2023-08-29 09:07:25 浏览: 78
Java中 List《map》把里面map中某个key相同记录的其他key 的 value 合并
假设我们有一个 `List<String>`,每个字符串都是逗号分隔的键值对,例如 `"key1=value1,key2=value2"`。现在我们想要将其转换成一个 `List<Map<String, String>>`,其中每个 `Map` 代表一个键值对列表,可以使用 Java 8 的新特性来实现。
```java
List<String> list = Arrays.asList("key1=value1,key2=value2", "key3=value3,key4=value4");
List<Map<String, String>> result = list.stream()
.map(s -> Arrays.stream(s.split(","))
.map(kv -> kv.split("="))
.collect(Collectors.toMap(kv -> kv[0], kv -> kv[1])))
.collect(Collectors.toList());
```
在这个例子中,我们首先将 `List` 转换为一个 `Stream`,然后调用 `map` 操作符来对每个字符串执行转换。在 `map` 操作符中,我们首先将每个字符串按逗号分隔,然后将每个键值对按等号分隔,并将它们收集到一个 `Map` 中。最后,我们将所有 `Map` 收集到一个 `List` 中,这样就得到了一个 `List<Map<String, String>>`。
阅读全文