Java Stream: 如何将 List<Map<String, String>> 转换为 Map<String, String>
使用 Stream 的 collect 方法可以将 List<Map<String, String>> 转换为 Map<String, String>。
下面是一个示例代码:
import java.util.*;
import java.util.stream.*;
public class Main {
public static void main(String[] args) {
List<Map<String, String>> list = new ArrayList<>();
Map<String, String> map1 = new HashMap<>();
map1.put('key1', 'value1');
map1.put('key2', 'value2');
list.add(map1);
Map<String, String> map2 = new HashMap<>();
map2.put('key3', 'value3');
map2.put('key4', 'value4');
list.add(map2);
Map<String, String> result = list.stream()
.flatMap(map -> map.entrySet().stream())
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
System.out.println(result);
}
}
这段代码首先创建了一个 List<Map<String, String>>,然后使用 Stream 的 flatMap 方法将每个 Map 转换为其 entrySet 的 Stream。最后使用 collect 方法将所有的 entry 收集到一个 Map 中。
输出结果为:
{key1=value1, key2=value2, key3=value3, key4=value4}
原文地址: https://www.cveoy.top/t/topic/qDcj 著作权归作者所有。请勿转载和采集!