RegularEnumSet存儲原理

EnumSet用來存儲枚舉數據,速度比hashMap要快數組

枚舉在中每一個元素都有一個下標,從0開始element

當枚舉個數<=64時,使用RegularEnumSet保存hash

add的時候經過  << 移位運算符計算 elements |= (1L << ((Enum)e).ordinal()); 得出set的位向量結果數據

 

初始set爲空:0000 0000di

往set添加枚舉中的第二個值時,其下標爲1,則 elements = 2,在位向量中表示爲: 0000 0010位運算

 

JumboEnumSet使用的是數組形式運算符

相關文章
相關標籤/搜索