Java.util.Bitset class | Logical operations

Bitset class also allows some of the logical operations on two Bitsets. The logical operations supported are : and, andNot, or, Xor. These are discussed in this article.

1. and(Bitset set) : This method performs a logical AND of this target bit set with the argument bit set and returns the values of 1st bitset also present in second bitset.

Declaration : 
   public void and(BitSet set)
Parameters : 
    set :  a bit set
Return Value : 
   This method does not return a value.   
filter_none

edit
close

play_arrow

link
brightness_4
code

// Java code to demonstrate the working
// of and(Bitset set) in Bitset
import java.util.*;
public class BitSetAnd {
  
public static void main(String[] args)
    {
  
        // Declaring 2 bitsets
        BitSet bset1 = new BitSet(5);
        BitSet bset2 = new BitSet(5);
  
        // adding the values to bset1
        // using set()
        bset1.set(0);
        bset1.set(1);
        bset1.set(2);
        bset1.set(3);
  
        // adding the values to bset2
        // using set()
        bset2.set(2);
        bset2.set(4);
        bset2.set(6);
        bset2.set(0);
  
        // printing the initial sets
        System.out.println("The elements of Bitset 1 are : " + bset1);
  
        System.out.println("The elements of Bitset 2 are : " + bset2);
  
        // perform "and" operation between two bitsets
        // using and()
        bset1.and(bset2);
  
        // printing the new bset1
        System.out.println("The resultant bset1 after and operation is : " + bset1);
    }
}

chevron_right


Output :



The elements of Bitset 1 are : {0, 1, 2, 3}
The elements of Bitset 2 are : {0, 2, 4, 6}
The resultant bset1 after and operation is : {0, 2}

2. andNot(BitSet set) : This method performs a logical NAND and returns elements of 1st Bitset that are not present in argument Bitset.

Declaration : 
   public void andNot(BitSet set)
Parameters : 
   set: the BitSet with which to mask this BitSet.
Return Value : 
   This method does not return a value.
filter_none

edit
close

play_arrow

link
brightness_4
code

// Java code to demonstrate the working
// of andNot(Bitset set) in Bitset
import java.util.*;
public class BitSetNotAnd {
  
public static void main(String[] args)
    {
  
        // Declaring 2 bitsets
        BitSet bset1 = new BitSet(5);
        BitSet bset2 = new BitSet(5);
  
        // adding the values to bset1
        // using set()
        bset1.set(0);
        bset1.set(1);
        bset1.set(2);
        bset1.set(3);
  
        // adding the values to bset2
        // using set()
        bset2.set(2);
        bset2.set(4);
        bset2.set(6);
        bset2.set(0);
  
        // printing the initial sets
        System.out.println("The elements of Bitset 1 are : " + bset1);
  
        System.out.println("The elements of Bitset 2 are : " + bset2);
  
        // perform "not-and" operation between two bitsets
        // using andNot()
        bset1.andNot(bset2);
  
        // printing the new bset1
        System.out.println("The resultant bset1 after andNot operation is : " + bset1);
    }
}

chevron_right


Output :

The elements of Bitset 1 are : {0, 1, 2, 3}
The elements of Bitset 2 are : {0, 2, 4, 6}
The resultant bset1 after andNot operation is : {1, 3}

3. or(Bitset set) : This method performs a logical OR of this target bit set with the argument bit set and returns the all values present in both bitset, doesn’t return duplicate elements.

Declaration : 
   public void or(BitSet set)
Parameters : 
    set :  a bit set
Return Value : 
   This method does not return a value.   
filter_none

edit
close

play_arrow

link
brightness_4
code

// Java code to demonstrate the working
// of or(Bitset set) in Bitset
import java.util.*;
public class BitSetOr {
  
public static void main(String[] args)
    {
  
        // Declaring 2 bitsets
        BitSet bset1 = new BitSet(5);
        BitSet bset2 = new BitSet(5);
  
        // adding the values to bset1
        // using set()
        bset1.set(0);
        bset1.set(1);
        bset1.set(2);
        bset1.set(3);
  
        // adding the values to bset2
        // using set()
        bset2.set(2);
        bset2.set(4);
        bset2.set(6);
        bset2.set(0);
  
        // printing the initial sets
        System.out.println("The elements of Bitset 1 are : " + bset1);
  
        System.out.println("The elements of Bitset 2 are : " + bset2);
  
        // perform "or" operation between two bitsets
        // using or()
        bset1. or (bset2);
  
        // printing the new bset1
        System.out.println("The resultant bset1 after or operation is : " + bset1);
    }
}

chevron_right


Output :

The elements of Bitset 1 are : {0, 1, 2, 3}
The elements of Bitset 2 are : {0, 2, 4, 6}
The resultant bset1 after or operation is : {0, 1, 2, 3, 4, 6}

4. xor(BitSet set) : This method performs a logical XOR and returns those elements that are present in one bitset but not in other.

Declaration : 
   public void xor(BitSet set)
Parameters : 
    set a bit set.
Return Value : 
   This method does not return a value.
filter_none

edit
close

play_arrow

link
brightness_4
code

// Java code to demonstrate the working
// of xor(Bitset set) in Bitset
import java.util.*;
public class BitSetXor {
  
public static void main(String[] args)
    {
  
        // Declaring 2 bitsets
        BitSet bset1 = new BitSet(5);
        BitSet bset2 = new BitSet(5);
  
        // adding the values to bset1
        // using set()
        bset1.set(0);
        bset1.set(1);
        bset1.set(2);
        bset1.set(3);
  
        // adding the values to bset2
        // using set()
        bset2.set(2);
        bset2.set(4);
        bset2.set(6);
        bset2.set(0);
  
        // printing the initial sets
        System.out.println("The elements of Bitset 1 are : " + bset1);
  
        System.out.println("The elements of Bitset 2 are : " + bset2);
  
        // perform "xor" operation between two bitsets
        // using xor()
        bset1. xor (bset2);
  
        // printing the new bset1
        System.out.println("The resultant bset1 after xor operation is : " + bset1);
    }
}

chevron_right


Output :

The elements of Bitset 1 are : {0, 1, 2, 3}
The elements of Bitset 2 are : {0, 2, 4, 6}
The resultant bset1 after xor operation is : {1, 3, 4, 6}

This article is contributed by Astha Tyagi. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.



My Personal Notes arrow_drop_up


Article Tags :
Practice Tags :


Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.