Java EnumMap 类

Java.util 包提供了一个 EnumMap 类,它是与 enum 一起使用的专用 Map 实现键入键。枚举映射中的所有键必须来自创建映射时显式或隐式指定的单个枚举类型。枚举映射按照其键的自然顺序(声明枚举常量的顺序)进行维护。不允许使用空键。尝试插入空键将抛出 NullPointerException。允许使用 Null 值。

EnumMap 不同步。如果多个线程同时访问一个枚举映射,并且至少有一个线程修改了该映射,则应该在外部进行同步。

类声明

java.util.EnumMap 的声明类是:

public class EnumMap<K extends Enum<K>,V>
  extends AbstractMap<K,V>
    implements Serializable, Cloneable 

类构造函数

序号构造函数和描述
1.EnumMap(Class<K> keyType)
使用指定的键类型创建一个空的枚举映射。
2.EnumMap(EnumMap<K,? extends V> m)
创建一个具有相同值的枚举映射键类型作为指定的枚举映射,最初包含相同的映射(如果有)。
3.EnumMap(Map<K,? extends V> m)
创建一个从指定map。

java.util.EnumMap 方法

java.util.EnumMap 类有许多方法,如下所示:

成员方法

序号方法和描述
1.void clear()
从此映射中删除所有映射。
2.EnumMap<K,V> clone()
返回此枚举映射的浅表副本。
3.boolean containsKey(Object key)
如果此映射包含指定键的映射,则返回 true。
4.boolean containsValue(Object value)
如果此映射将一个或多个键映射到指定值,则返回 true。
5.Set<Map.Entry<K,V>> EntrySet()
返回此映射中包含的映射的集合视图。
6.boolean equals(Object obj)
比较指定对象与此映射是否相等。
7.V get(Object key)
返回指定键映射到的值,如果此映射不包含该键的映射,则返回 null。
8.int hashCode()
返回此映射的哈希代码值。
9.Set<K> keySet()
返回此映射中包含的键的集合视图。
10。V put(K key,V value)
将指定的值与映射中的指定的键关联起来。
11。void putAll(Map<? extends K, ? extends V> m)
将指定映射中的所有映射复制到此映射。
12.V remove(Object key)
从此映射中删除指定键的映射(如果存在)。
13。int size()
返回映射中键值对的数量。
14。Collection<V> values()
返回此映射中包含的值的集合视图。

继承的方法

该类继承了以下类的方法:

  • java.lang.Object
  • java.util.AbstractMap<K,V>