java 替换Map中key的值



import java.util.*;
import java.util.stream.Collectors;

public class MapKeyReplacement {
    public static void main(String[] args) {
        // 假设我们有如下的List<Map<String, String>>
        List<Map<String, String>> list = Arrays.asList(
                new HashMap<String, String>() {{
                    put("a", "1");
                    put("c", "3");
                }},
                new HashMap<String, String>() {{
                    put("a", "2");
                    put("d", "4");
                }},
                new HashMap<String, String>() {{
                    put("a", "5");
                    put("e", "6");
                }}
        );
        Map<String, String> replaceMap = new HashMap<>();
        replaceMap.put("a", "x");
        replaceMap.put("c", "y");
        replaceMap.put("d", "z");
        replaceMap.put("f", "yy");

        List<Map<String, String>> newList = list.stream()
                .map(originalMap -> {
                    Map<String, String> newMap = new LinkedHashMap<>();
                    originalMap.forEach((key, value) -> {
                        newMap.put(replaceMap.getOrDefault(key, key), value);
                    });
                    return newMap;
                })
                .collect(Collectors.toList());

        // 输出替换后的List<Map<String, String>>
        newList.forEach(System.out::println);
    }
}


posted @   iullor  阅读(455)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示