Bitset
A bit array (also known as bit map, bit set, bit string, or bit vector) 是一种能够紧凑地存储位的数组。位数组可以被用来实现简单的集合。它能够通过硬件中位级别的并行运算快速操作。
在Java里,可以通过BitSet构造位数组,这种位数组可以通过C程序员熟悉的位运算的名字操作。不像C++里的bitset,Java里的BitSet不限制大小,在初始化的时候就有无穷位初始为0的位元;可以在任意的索引设定或取值。附加地,Java里还有一个EnumSet类,EnumSet作为位数组表示一个枚举里元素的集合,是位段的一个较安全的选择。
BitSet API 使用了基本数字数据类型和按位运算的组合。
EnumSet 内部实现是 bit vector