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使用的是数组形式运算符

相关文章
相关标签/搜索