17

除了通常的“保留计数器”方法之外,还有什么快速计算 BitSet 中设置位数的方法?

4

3 回答 3

40

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

于 2011-02-03T06:52:46.673 回答
3

(假设你不想调用 cardinality())

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

见 javadoc

于 2011-02-03T06:53:48.507 回答
1
BitSet B1 = new BitSet(3);
B1.set(0);
B1.cardinality();

输出:

1
于 2017-06-24T03:54:51.750 回答