package zzz.bitsettest;
import java.util.BitSet;
public class BitSetTest {
public static void main(String[] args) {
System.out.println("Integer.MAX_VALUE = " + Integer.MAX_VALUE);
System.out.println("----");
BitSet bits = new BitSet(2000000000);
bits.set(0);
bits.set(1);
bits.set(2);
bits.set(0);
bits.set(7);
bits.set(8);
bits.set(9);
System.out.println(bits);
System.out.println("cardinality = " + bits.cardinality());
System.out.println("first clean bit = " + bits.nextClearBit(0));
System.out.println("----");
for (int i = 0; i < 2000000000; i++)
bits.set(i);
int idxToClear = 2000000000 - 5;
bits.clear(idxToClear);
System.out.println("cardinality = " + bits.cardinality());
System.out.println("first clean bit = " + bits.nextClearBit(0));
}
}
Integer.MAX_VALUE = 2147483647
----
{0, 1, 2, 7, 8, 9}
cardinality = 6
first clean bit = 3
----
cardinality = 1999999999
first clean bit = 1999999995