文章目录
EnumMap是什么
- EnumMap是一个Map,但是它的key值是enum类型的。
- 这个map的size有最大值,就是enum的个数。
- 使用的时候和其他map没有区别。
使用方式
EnumMap创建的时候需要传入enum类型,内部存的是一个数组,这样在初始化的时候已经确定好数组的大小,不会有像hashmap那样的扩容问题,这里不同。
public class EnumMapTest {
enum WeekDay{
MONDAY,TUESDAY,WEDNESDAY,THURSDAY,FRIDAY,SATURDAY,SUNDAY
}
public static void main(String[] args) throws Exception {
//直接用map就行,map的操作都一样
Map<WeekDay,String> em = new EnumMap<>(WeekDay.class);
em.put(WeekDay.MONDAY,"hello everyone");
System.out.println(em.size());
System.out.println(em.get(WeekDay.MONDAY));
}
}
使用场景
其实一直有这个疑问,感觉平时一点用不到,要么在enum当中定义属性,要么直接用hashMap,所以在开发中不用也没有任何不适。其实只要记住一点,当使用map的时候如果key值是枚举那么就可以使用😎。