📅  最后修改于: 2023-12-03 15:09:27.277000             🧑  作者: Mango
EnumMap
是 Java 集合框架中常用的一种 Map,它以枚举类对象作为 key,对象作为 value。EnumMap
和其他 Map 实现相比,具有更高的性能和更少的内存使用。
本文将介绍如何实现 EnumMap API,包括创建 EnumMap,向 EnumMap 中添加元素,获取 EnumMap 中的元素,以及其他相关操作。
创建 EnumMap 的方法很简单,只需在构造函数中指定枚举类即可。以下是创建 EnumMap 的示例代码:
EnumMap<MyEnum, String> enumMap = new EnumMap<>(MyEnum.class);
这里以 MyEnum
为例,创建了一个空的 EnumMap enumMap
。
向 EnumMap 中添加元素的方法与向其他 Map 实现相同,即使用 put
方法。以下是向 EnumMap 中添加元素的示例代码:
enumMap.put(MyEnum.VALUE1, "Value One");
enumMap.put(MyEnum.VALUE2, "Value Two");
enumMap.put(MyEnum.VALUE3, "Value Three");
这里向 enumMap
中依次添加了 MyEnum.VALUE1
、MyEnum.VALUE2
和 MyEnum.VALUE3
三个枚举对象,对应的值分别是字符串 "Value One"、"Value Two" 和 "Value Three"。
获取 EnumMap 中的元素也很简单,使用 get
方法即可。以下是获取 EnumMap 中元素的示例代码:
String value1 = enumMap.get(MyEnum.VALUE1);
String value2 = enumMap.get(MyEnum.VALUE2);
String value3 = enumMap.get(MyEnum.VALUE3);
这里分别获取了枚举对象 MyEnum.VALUE1
、MyEnum.VALUE2
和 MyEnum.VALUE3
对应的值。
除了以上基本操作,EnumMap 还提供了其他一些常用方法,例如:
containsKey(Object key)
:判断 EnumMap 是否包含指定的 key。containsValue(Object value)
:判断 EnumMap 是否包含指定的 value。isEmpty()
:判断 EnumMap 是否为空。size()
:返回 EnumMap 的大小。示例代码:
System.out.println(enumMap.containsKey(MyEnum.VALUE1)); // true
System.out.println(enumMap.containsValue("Value One")); // true
System.out.println(enumMap.isEmpty()); // false
System.out.println(enumMap.size()); // 3
本文介绍了如何实现 EnumMap API,包括创建 EnumMap,向 EnumMap 中添加元素,获取 EnumMap 中的元素,以及其他一些常用操作。EnumMap 是一种高效且内存占用少的 Map 实现,适用于以枚举对象为 key 的场景。