BitSet クラス

import java.io.*;
import java.util.*;

public class Test {
	public static void main(String args[]) throws IOException
	{
		BitSet bs;
		BitSet bs1 = new BitSet();
		BitSet bs2 = new BitSet();
					// bs1 = 11111111000
		bs1.set(0, 7, true);
		bs1.set(7, 10, false);
		System.out.println(bs1 + " size = " + bs1.size() + " length = " + bs1.length());
					// bs2 = 00011111111
		bs2.set(0, 3, false);
		bs2.set(3, 10, true);
		System.out.println(bs2 + " size = " + bs2.size() + " length = " + bs2.length());
					// or, and ,xor
		bs = (BitSet)bs1.clone();
		bs.or(bs2);
		System.out.println("or " + bs + " size = " + bs.size() + " length = " + bs.length());

		bs = (BitSet)bs1.clone();
		bs.and(bs2);
		System.out.println("and " + bs + " size = " + bs.size() + " length = " + bs.length());

		bs = (BitSet)bs1.clone();
		bs.xor(bs2);
		System.out.println("xor " + bs + " size = " + bs.size() + " length = " + bs.length());
	}
}
		
(出力)
{0, 1, 2, 3, 4, 5, 6} size = 64 length = 7
{3, 4, 5, 6, 7, 8, 9} size = 64 length = 10
or {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} size = 64 length = 10
and {3, 4, 5, 6} size = 64 length = 7
xor {0, 1, 2, 7, 8, 9} size = 64 length = 10