Custom bitset which is memory efficient.
#ByteBitSet (8-bit) ByteBitSet uses byte primitive (8-bit) to store upto 8 booleans in its bit positions.
#ShortBitSet (16-bit) ShortBitSet uses Short primitive (16-bit) to store upto 16 booleans in its bit positions.
#IntBitSet (32-bit) IntBitSet uses int primitive (32-bit) to store upto 32 booleans in its bit positions.
#LongBitSet (64-bit) LongBitSet uses int primitive (64-bit) to store upto 64 booleans in its bit positions.