如何使用位集(BitSet)来表示以0结尾的位?
例如,要在BitSet中表示“10100”,我需要执行以下操作。
BitSet bits = new BitSet(5);
bits.set(0);
bits.set(2);
基于 Java Doc, length() - 返回这个 BitSet 的“逻辑大小”:BitSet 中最高位的索引加一。
size() - 返回该 BitSet 实际使用的位空间数量以表示位值。
因此,对于给定的示例,length() 返回“3”,size() 返回“64”,因为 BitSet 内部使用 long 。
对于给定的 BitSet,如何确定其中的实际位(在此情况下为 10100)?
附言:我正在研究压缩技术,不想使用 boolean[] 来表示它,因为数组中的每个条目都可以占用 1 字节。
谢谢!