1 简介
我们知道Map
只是一个接口,它有多种实现,Java中最常用的是HashMap
了。而本文想讲述的是另一个实现:EnumMap
。它是枚举类型的Map
,要求它的Key值都必须是枚举型的。
2 创建你的EnumMap
既然是关于枚举类型的Map,我们先创建一个枚举,以便后续使用:
public enum Directions {
NORTH, SOUTH, EAST, WEST
}
2.1 创建EnumMap的三种方法
JDK提供的创建EnumMap
的方法有三种,代码如下:
//new EnumMap
EnumMap<Direction, String> enumMap = new EnumMap<>(Direction.class);
enumMap.put(Direction.EAST, "东");
enumMap.put(Direction.SOUTH, "南");
//从EnumMap复制
EnumMap<Direction, String> enumMapCopyEnumMap = new EnumMap<>(enumMap);
assertEquals(enumMap, enumMapCopyEnumMap);
//从Map复制
Map<Direction, String> hashMap = Maps.newHashMap();
hashMap.put(Direction.EAST, "东");
hashMap.put(Direction.SOUTH, "南");
EnumMap<Direction, String> en