使用枚举映射
这是一种在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
实现相比&#x