import java.util.*; class BitSetExample { public static void main (String args[]) { BitSet bits1; BitSet bits2; BitSet bits3; bits1 = new BitSet (64); // 1-64 == 64, 65-128 == 128 bits2 = new BitSet (64); // 1-64 == 64, 65-128 == 128 System.out.println ( "\nbits1.size() == " + bits1.size () + " possible bit positions." ); System.out.println (); bits1.set(0); // Set bit number 0 in bits1 bits1.set(2); // Set bit number 2 in bits1 bits2.set(1); // Set bit number 1 in bits2 bits2.set(2); // Set bit number 2 in bits2 bits3 = (BitSet) bits1.clone (); // Create bits3 as a copy of bits1 System.out.println ("The bits that are on in bits1 are " + bits1); System.out.println ("The bits that are on in bits2 are " + bits2); System.out.println (); bits1.and (bits2); System.out.println ("After: bits1 AND bits2..."); System.out.println ("bits1: bit 0 is set? " + bits1.get (0)); System.out.println ("bits1: bit 1 is set? " + bits1.get (1)); System.out.println ("bits1: bit 2 is set? " + bits1.get (2)); System.out.println ("bits1 = " + bits1); System.out.println (); bits1 = (BitSet) bits3.clone (); bits1.or (bits2); System.out.println ("After: bits1 OR bits2..."); System.out.println ("bits1: bit 0 is set? " + bits1.get (0)); System.out.println ("bits1: bit 1 is set? " + bits1.get (1)); System.out.println ("bits1: bit 2 is set? " + bits1.get (2)); System.out.println ("bits1 = " + bits1); System.out.println (); bits1 = (BitSet) bits3.clone (); bits1.xor (bits2); System.out.println ("After: bits1 XOR bits2..."); System.out.println ("bits1: bit 0 is set? " + bits1.get (0)); System.out.println ("bits1: bit 1 is set? " + bits1.get (1)); System.out.println ("bits1: bit 2 is set? " + bits1.get (2)); System.out.println ("bits1 = " + bits1); System.out.println (); bits1 = (BitSet) bits3.clone (); System.out.println ("Before any bits are cleared, bits1 = " + bits1); bits1.clear (0); System.out.println ("After clearing bit 0, bits1 = " + bits1); System.out.println (); } }