Discuss / Java / EnumMap的部分原理

EnumMap的部分原理

Topic source

深蓝738

#1 Created at ... [Delete] [Delete and Lock User]

1. 数据结构是两个大小相同的数组keyArray和valueArray

2. 数组映射关系是是通过枚举的顺序实现的:java.lang.Enum#ordinal

3. contains()方法通过判断valueArray[K.ordinal] != null来实现的。当put的value是null的时候,通过声明的java.util.EnumMap#NULL这个对象做了替换。当然,get的时候发现是这个对象也会替换回来。


  • 1

Reply