Java:计算java.util.BitSet中设置的位数

时间:2011-02-03 06:48:27

标签: java bitset

除了通常的“保持计数器”方法之外,还有任何快速计算BitSet中设置位数的方法吗?

3 个答案:

答案 0 :(得分:22)

cardinality()方法返回设置位数。

答案 1 :(得分:3)

(假设你不想打电话基数())

int count = 0; 
for (int i = bs.nextSetBit(0); i >= 0; i = bs.nextSetBit(i+1)) {
    count++;
}

see javadoc

答案 2 :(得分:1)

BitSet B1 = new BitSet(3);
B1.set(0);
B1.cardinality();

输出:

1