1. 数据结构是两个大小相同的数组keyArray和valueArray
2. 数组映射关系是是通过枚举的顺序实现的:java.lang.Enum#ordinal
3. contains()方法通过判断valueArray[K.ordinal] != null来实现的。当put的value是null的时候,通过声明的java.util.EnumMap#NULL这个对象做了替换。当然,get的时候发现是这个对象也会替换回来。
Sign in to make a reply
深蓝738
1. 数据结构是两个大小相同的数组keyArray和valueArray
2. 数组映射关系是是通过枚举的顺序实现的:java.lang.Enum#ordinal
3. contains()方法通过判断valueArray[K.ordinal] != null来实现的。当put的value是null的时候,通过声明的java.util.EnumMap#NULL这个对象做了替换。当然,get的时候发现是这个对象也会替换回来。