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));
	}
}

  • output
Integer.MAX_VALUE = 2147483647
----
{0, 1, 2, 7, 8, 9}
cardinality = 6
first clean bit = 3
----
cardinality = 1999999999
first clean bit = 1999999995
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2017-02-08 13:32:14
Processing time 0.0046 sec