Java: подсчитать количество бит, установленных в java.util.BitSet - PullRequest
7 голосов
/ 03 февраля 2011

Есть ли какой-нибудь быстрый метод подсчета количества установленных битов в BitSet, отличный от обычного метода «сохранить счетчик»?

Ответы [ 3 ]

24 голосов
/ 03 февраля 2011

Метод cardinality () возвращает количество установленных битов.

3 голосов
/ 03 февраля 2011

(при условии, что вы не хотите вызывать количество элементов ())

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

см. Javadoc

1 голос
/ 24 июня 2017
BitSet B1 = new BitSet(3);
B1.set(0);
B1.cardinality();

Выход:

1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...