Java:计算java.util.BitSet中设置的位数
除了通常的“保持计数器”方法之外,还有任何快速计算BitSet中设置位数的方法吗?
cardinality()方法返回设置位数。
(假设你不想打电话基数())
int count = 0; for (int i = bs.nextSetBit(0); i >= 0; i = bs.nextSetBit(i+1)) { count++; }
见javadoc
BitSet B1 = new BitSet(3); B1.set(0); B1.cardinality();
输出:
1