这是一种在JDK中存在很长时间的类型,当我们要定义以枚举类型作为键的映射时会派上用场: EnumMap是一种特殊的Map 。 
我们将为给定的枚举创建一个映射:
public enum CoffeeType {ESPRESSO, POUR_OVER, FRENCH_PRESS
} EnumMap在创建时需要注意枚举类: 
Map<CoffeeType, String> favoriteCoffeeOrigins = new EnumMap<>(CoffeeType.class);favoriteCoffeeOrigins.put(CoffeeType.ESPRESSO, "Ethiopia");
favoriteCoffeeOrigins.put(CoffeeType.POUR_OVER, "Colombia");
favoriteCoffeeOrigins.put(CoffeeType.FRENCH_PRESS, "Indonesia");assertThat(favoriteCoffeeOrigins.get(CoffeeType.ESPRESSO)).isEqualTo("Ethiopia"); 与HashMap实现相比, EnumMap效率更高。 此Java实现的所有基本映射操作都在固定时间内执行。 
这篇帖子从我的时事通讯017中转贴了。
翻译自: https://www.javacodegeeks.com/2018/01/mapping-enum-keys-enummaps.html