📅  最后修改于: 2023-12-03 15:01:53.166000             🧑  作者: Mango
EnumMap 是 Java 中的一个特殊映射,它使用枚举类型作为键,并且值必须是单一类型。它是高效的,快速的且类型安全的。
EnumMap 通过一个数组实现,其中数组的大小是枚举键类型的大小。它提供了和 HashMap 类似的功能,但由于键被限制为枚举类型,所以它通常比 HashMap 更快更有效。
public class EnumMapExample {
public static void main(String[] args) {
// 创建一个 EnumMap,键的类型为 Animal
EnumMap<Animal, String> animalMap = new EnumMap<>(Animal.class);
// 添加键值对
animalMap.put(Animal.CAT, "Cat");
animalMap.put(Animal.DOG, "Dog");
animalMap.put(Animal.HORSE, "Horse");
// 输出所有键的名称
for (Animal animal : animalMap.keySet()) {
System.out.println(animal.name());
}
// 输出所有键的值
for (String value : animalMap.values()) {
System.out.println(value);
}
// 返回指定键所映射的值
System.out.println(animalMap.get(Animal.CAT));
// 判断是否包含指定键
System.out.println(animalMap.containsKey(Animal.CAT));
// 判断是否包含指定值
System.out.println(animalMap.containsValue("Cat"));
}
}
enum Animal {
CAT, DOG, HORSE
}
代码运行结果:
CAT
DOG
HORSE
Cat
Dog
Horse
Cat
true
true