Есть ли какой-нибудь быстрый метод подсчета количества установленных битов в 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