Open In App
Related Articles

Java.util.BitSet class in Java with Examples | Set 1

Improve Article
Improve
Save Article
Save
Like Article
Like

BitSet is a class defined in the java.util package. It creates an array of bits represented by boolean values.

Constructors: 

 BitSet class Constructors
    /                  \ 
 BitSet()          BitSet(int no_Of_Bits)
  • BitSet() : A no-argument constructor to create an empty BitSet object. 
     
  • BitSet(int no_Of_Bits): A one-constructor with an integer argument to create an instance of the BitSet class with an initial size of the integer argument representing the number of bits. 

Java




// Java program illustrating Bitset Class constructors.
import java.util.*;
public class GFG
{
    public static void main(String[] args)
    {
        // Constructors of BitSet class
        BitSet bs1 = new BitSet();
        BitSet bs2 = new BitSet(6);
 
        /* set is BitSet class method
           explained in next articles */
        bs1.set(0);
        bs1.set(1);
        bs1.set(2);
        bs1.set(4);
 
        // assign values to bs2
        bs2.set(4);
        bs2.set(6);
        bs2.set(5);
        bs2.set(1);
        bs2.set(2);
        bs2.set(3);
 
        // Printing the 2 Bitsets
        System.out.println("bs1  : " + bs1);
        System.out.println("bs2  : " + bs2);
    }
}


Output: 

bs1 : {0, 1, 2, 4}
bs2 : {1, 2, 3, 4, 5, 6}

Important Points :  

  • The size of the array is flexible and can grow to accommodate additional bit as needed.
  • As it is an array, the index is zero-based and the bit values can be accessed only by non-negative integers as an index.
  • The default value of the BitSet is boolean false with a representation as 0 (off).
  • Calling the clear method makes the bit values set to false.
  • BitSet uses about 1 bit per boolean value.
  • To access a specific value in the BitSet, the get method is used with an integer argument as an index.

What happens if the array index in bitset is set as Negative?

The program will throw java.lang.NegativeArraySizeException 

Java




// Java program illustrating Exception when we access
// out of index in BitSet class.
import java.util.*;
 
public class GFG
{
    public static void main(String[] args)
    {
        // Constructors of BitSet class
        BitSet bs1 = new BitSet();
 
        // Negative array size
        BitSet bs2 = new BitSet(-1);
 
        /* set is BitSet class method
           explained in next articles */
        // assigning values to bitset 1
        bs1.set(0);
        bs1.set(1);
 
        // assign values to bs2
        bs2.set(4);
        bs2.set(6);
 
        System.out.println("bs1  : " + bs1);
        System.out.println("bs2  : " + bs2);
    }
}


Output: 

Exception in thread "main" java.lang.NegativeArraySizeException: nbits < 0: -1
    at java.util.BitSet.(BitSet.java:159)
    at GFG.main(NewClass.java:9)

BitSet class methods in Java with Examples | Set 2

If you like GeeksforGeeks and would like to contribute, you can also write an article using write.geeksforgeeks.org or mail your article to review-team@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.
 


Feeling lost in the vast world of Backend Development? It's time for a change! Join our Java Backend Development - Live Course and embark on an exciting journey to master backend development efficiently and on schedule.
What We Offer:
  • Comprehensive Course
  • Expert Guidance for Efficient Learning
  • Hands-on Experience with Real-world Projects
  • Proven Track Record with 100,000+ Successful Geeks

Last Updated : 31 Jul, 2021
Like Article
Save Article
Previous
Next
Similar Reads
Complete Tutorials