Programming Tutorials

BitSet example in Java

By: Lakshmi in Java Tutorials on 2007-09-14  

A BitSetclass creates a special type of array that holds bit values. This array can increase in size as needed. This makes it similar to a vector of bits. The BitSet constructors are shown here:

BitSet()
BitSet(int size)

The first version creates a default object. The second version allows you to specify its initial size (that is, the number of bits that it can hold). All bits are initialized to zero. BitSet implements the Cloneable interface.

Here is an example that demonstrates BitSet:

// BitSet Demonstration.
import java.util.BitSet;

class BitSetDemo {
    public static void main(String args[]) {
        BitSet bits1 = new BitSet(16);
        BitSet bits2 = new BitSet(16);
        // set some bits
        for (int i = 0; i < 16; i++) {
            if ((i % 2) == 0)
                bits1.set(i);
            if ((i % 5) != 0)
                bits2.set(i);
        }
        System.out.println("Initial pattern in bits1: ");
        System.out.println(bits1);
        System.out.println("Initial pattern in bits2: ");
        System.out.println(bits2);
        // AND bits
        bits2.and(bits1);
        System.out.println("bits2 AND bits1: ");
        System.out.println(bits2);
        // OR bits
        bits2.or(bits1);
        System.out.println("bits2 OR bits1: ");
        System.out.println(bits2);
        // XOR bits
        bits2.xor(bits1);
        System.out.println("bits2 XOR bits1: ");
        System.out.println(bits2);
    }
}

The output from this program is shown here. When toString() converts a BitSet object to its string equivalent, each set bit is represented by its bit position. Cleared bits are not shown.

Initial pattern in bits1:
{0, 2, 4, 6, 8, 10, 12, 14}
Initial pattern in bits2:
{1, 2, 3, 4, 6, 7, 8, 9, 11, 12, 13, 14}
bits2 AND bits1:
{2, 4, 6, 8, 12, 14}
bits2 OR bits1:
{0, 2, 4, 6, 8, 10, 12, 14}
bits2 XOR bits1:
{}





Add Comment

* Required information
1000

Comments

No comments yet. Be the first!

Most Viewed Articles (in Java )

Latest Articles (in Java)