一、类图
二、源码分析
a. EnumMap 的 Key 是 Enum 类型的,遍历返回的集合 keySet、values、entrySet 保持了 key 的自然顺序
( key 在 enum 类中被声明的顺序)
b. Iterator 迭代是弱一致的,即不会抛出 ConcurrentModificationException
c. 不允许 null key ,允许 null value
d. EnumMap 实现了序列化和克隆接口
e. 内部用一个数组保存所有的 Enum Key,Enum 的 Key 是固定的,有限的,key 的枚举序数对应的是 vals 数组下标
f. 这种 Map 相对于传统的 Map 结构,最大的特点就是没有 entry 链了,退化成数组结构了,不存在冲突问题
g. 默认的 clone 是浅拷贝