使用 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}
Java Stream: 如何将 List<Map<String, String>> 转换为 Map<String, String>

原文地址: https://www.cveoy.top/t/topic/qDcj 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录