Java 简明教程

Java EnumMap Class

Introduction

Java EnumMap 类是用于枚举键的专门 Map 实现。以下是关于 EnumMap 的重要要点 −

  1. 枚举映射中的所有键必须来自创建映射时明确或隐式指定的单个枚举类型。

  2. 枚举映射按其键的自然顺序维护。

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

Class declaration

以下是 java.util.EnumMap 类的声明 −

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

Class constructors

Class methods

Methods inherited

此类从以下类中继承方法:

  1. java.util.AbstractMap

  2. java.util.Object

Adding a Key-Value to an EnumMap Of Enum, Integer Pair Example

以下示例展示了使用 Java EnumMap put(K,V) 方法在 EnumMap 实例中放入值。我们创建了一个枚举 Numbers。然后用枚举 Numbers 和 Integer 创建 EnumMap。添加很少的条目,使用 put(K,V),并打印 enumMap。再次使用 put() 方法,替换一个 enumMap 值,再次打印映射。

package com.tutorialspoint;

import java.util.EnumMap;

public class EnumMapDemo {

   // create an enum
   public enum Numbers{ONE, TWO, THREE, FOUR, FIVE};

   public static void main(String[] args) {

      EnumMap<Numbers,Integer> map =
         new EnumMap<>(Numbers.class);

      // associate values in map
      map.put(Numbers.ONE, 1);
      map.put(Numbers.TWO, 2);
      map.put(Numbers.THREE,3);

      // print the whole map
      System.out.println(map);

      map.put(Numbers.THREE, 4);

      // print the updated map
      System.out.println(map);
   }
}

让我们编译并运行上述程序,这将生成以下结果 −

{ONE=1, TWO=2, THREE=3}
{ONE=1, TWO=2, THREE=4}