EnumSet用来存储枚举数据,速度比hashMap要快数组
枚举在中每一个元素都有一个下标,从0开始element
当枚举个数<=64时,使用RegularEnumSet保存hash
add的时候经过 << 移位运算符计算 elements |= (1L << ((Enum)e).ordinal()); 得出set的位向量结果数据
初始set为空:0000 0000di
往set添加枚举中的第二个值时,其下标为1,则 elements = 2,在位向量中表示为: 0000 0010位运算
JumboEnumSet使用的是数组形式运算符