在 Java 中,有多种方法可以合并两个 Map,根据具体的需求和 Java 版本的不同,开发者可以选择不同的实现方式。下面介绍几种常见的合并 Map 的方法。

方法 1: 使用 putAll() 方法

putAll() 是最简单的一种方式,将一个 Map 中的所有键值对复制到另一个 Map 中。如果两个 Map 中有相同的键,目标 Map 中的值会被覆盖。

import java.util.HashMap;

import java.util.Map;

​

public class MergeMapsExample {

public static void main(String[] args) {

Map map1 = new HashMap<>();

map1.put("A", 1);

map1.put("B", 2);

​

Map map2 = new HashMap<>();

map2.put("B", 3); // 这个值会覆盖 map1 中的 "B"

map2.put("C", 4);

​

map1.putAll(map2); // 将 map2 中的所有键值对添加到 map1 中

​

System.out.println(map1); // 输出: {A=1, B=3, C=4}

}

}

优点:简单、直观。

缺点:如果键冲突,目标 Map 中的值会被覆盖,不适合需要处理冲突的场景。

方法 2: 使用 merge() 方法(Java 8 及以上)

Java 8 引入了 Map 的 merge() 方法,可以更灵活地处理键