📅  最后修改于: 2023-12-03 14:42:47.378000             🧑  作者: Mango
EnumMap
是Java集合框架中的一个特殊类,它实现了Map
接口,并且要求键(key)必须是同一个枚举类的枚举值。EnumMap
的putAll(map)
方法用于将另一个映射中的所有键值对添加到当前EnumMap
中。
下面是EnumMap
的putAll(map)
方法的语法:
void putAll(Map<? extends K, ? extends V> map)
map
:要添加到当前映射中的另一个映射。
该方法没有返回值。
以下是一个示例代码,展示了如何使用putAll(map)
方法添加键值对到一个EnumMap
中:
import java.util.EnumMap;
import java.util.Map;
enum Color {
RED, GREEN, BLUE;
}
public class Main {
public static void main(String[] args) {
// 创建一个EnumMap
EnumMap<Color, String> enumMap = new EnumMap<>(Color.class);
// 创建一个普通的Map
Map<Color, String> map = Map.of(Color.RED, "红色", Color.GREEN, "绿色", Color.BLUE, "蓝色");
// 将map中的键值对添加到enumMap中
enumMap.putAll(map);
// 输出enumMap中的键值对
for (Map.Entry<Color, String> entry : enumMap.entrySet()) {
System.out.println(entry.getKey() + ": " + entry.getValue());
}
}
}
运行以上示例代码,将会输出以下结果:
RED: 红色
GREEN: 绿色
BLUE: 蓝色
putAll(map)
方法将会拷贝另一个映射中的所有键值对到当前EnumMap
中。如果添加的映射中的键已经存在于当前EnumMap
中,则会使用新的值覆盖原有值。putAll(map)
方法的映射不能为null
。putAll(map)
方法的时间复杂度为O(n),其中n是要添加的键值对的数量。希望以上信息能对你有所帮助!