Teachnique
      CourseRoadmaps
      Login

      OverviewHistoryFeaturesJava 8 - New Featuresvs C++Virtual Machine(JVM)JDK vs JRE vs JVMHello World ProgramEnvironment SetupBasic SyntaxVariable TypesData TypesType CastingUnicode SystemBasic OperatorsCommentsStreamsNew Date-Time API

      Loop ControlDecision Makingif-else Statementswitch statementfor loopfor each Loopwhile Loopdo...while Loopbreak Statementcontinue Statement

      OOPs (Object-Oriented Programming) ConceptsObject and ClassesClass AttributesClass MethodsMethodsVariable ScopesConstructorsAccess ModifiersInheritanceAggregationPolymorphismOverridingMethod OverloadingDynamic BindingStatic BindingInstance Initializer BlockAbstractionEncapsulationInterfacesPackagesInner classesStatic ClassesAnonymous ClassesSingleton ClassWrapper ClassesEnum Class

      Number ClassBoolean classCharacter ClassArraysMath Class

      File ClassCreating FilesWrite To FilesReading FileDelete FilesDirectory OperationsFiles and I/O

      ExceptionsTry Catch BlockTry with ResourcesMultiple Catch BlocksNested Try BlockFinally BlockThrows and Throw | Throw an ExceptionException PropagationBuilt-in ExceptionsCustom Exception

      MultithreadingThread Life CycleCreating a ThreadStarting a ThreadJoining ThreadsNaming a Thread with ExamplesScheduling Threads with ExamplesThread PoolsMain ThreadThread PriorityDaemon ThreadThreadGroup ClassJVM Shutdown Hook

      Thread SynchronizationBlock SynchronizationStatic SynchronizationInter Thread CommunicationThread DeadlockInterrupting ThreadThread ControlReentrant Monitor

      NetworkingSocket ProgrammingURL ProcessingURL ClassURLConnection ClassHttpURLConnection ClassSocket Class with ExamplesGenerics

      Collections FrameworkCollection Interface

      List InterfaceArrayList Class

      Queue InterfaceArrayDeque Class

      Map InterfaceSortedMap Interface

      Set InterfaceSortedSet Interface

      Data Structures Enumeration Interface BitSet Class

      How to Use Iterator?How to Use Comparator?How to Use Comparable?

      RecursionRegular ExpressionsSerializationString ClassJava Arrays - Class

      Feedback

      Submit request if you have any questions.

      Course
      BitSet Class

      Java Tutorial

      This Java tutorial is tailored for newcomers, offering a journey from basic principles to complex Java programming techniques. Completing this tutorial equips you with a solid understanding of Java, preparing you for advanced learning. You'll emerge ready to tackle the challenges of becoming a top-tier software engineer, with the skills to innovate and excel in the vast world of software development.

       BitSet Class

      The Java BitSet class creates a special type of array that holds bit values. The BitSet array can increase in size as needed. This makes it similar to a vector of bits. This is a legacy class but it has been completely re-engineered in Java 2, version 1.4.

      BitSet Class Declaration

      Following is the declaration for java.util.BitSet class
      public class BitSet
      extends Object
      implements Cloneable, Serializable

      BitSet Class Constructors

      The BitSet defines the following two constructors.
      Sr.No.
      Constructor & Description
      1
      BitSet( )
      This constructor creates a default object.
      2
      BitSet(int size)
      This constructor allows you to specify its initial size, i.e., the number of bits that it can hold. All bits are initialized to zero.

      BitSet Class Methods

      Sr.No.
      Method & Description
      1
      void and(BitSet set)
      This method performs a logical AND of this target bit set with the argument bit set.
      2
      void andNot(BitSet set)
      This method clears all of the bits in this BitSet whose corresponding bit is set in the specified BitSet.
      3
      int cardinality()
      This method returns the number of bits set to true in this BitSet.
      4
      void clear()
      This method sets all of the bits in this BitSet to false.
      5
      Object clone()
      This method clones this BitSet and produces a new BitSet that is equal to it.
      6
      boolean equals(Object obj)
      This method compares this object against the specified object.
      7
      void flip(int bitIndex)
      This method sets the bit at the specified index to the complement of its current value.
      8
      boolean get(int bitIndex)
      This method returns the value of the bit with the specified index.
      9
      int hashCode()
      This method returns the value of the bit with the specified index.
      10
      boolean intersects(BitSet set)
      This method returns true if the specified BitSet has any bits set to true that are also set to true in this BitSet.
      11
      boolean isEmpty()
      This method returns true if this BitSet contains no bits that are set to true.
      12
      int length()
      This method returns the "logical size" of this BitSet: the index of the highest set bit in the BitSet plus one.
      13
      int nextClearBit(int fromIndex)
      This method returns the index of the first bit that is set to false that occurs on or after the specified starting index.
      14
      int nextSetBit(int fromIndex)
      This method returns the index of the first bit that is set to true that occurs on or after the specified starting index.
      15
      void or(BitSet set)
      This method performs a logical OR of this bit set with the bit set argument.
      16
      int previousClearBit(int fromIndex)
      This method returns the index of the first bit that is set to false that occurs on or before the specified starting index.
      17
      int previousSetBit(int fromIndex)
      This method returns the index of the first bit that is set to true that occurs on or after the specified starting index.
      18
      void set(int bitIndex)
      This method sets the bit at the specified index to true.
      19
      int size()
      This method returns the number of bits of space actually in use by this BitSet to represent bit values.
      20
      IntStream stream()
      This method returns a stream of indices for which this BitSet contains a bit in the set state.
      21
      byte[] toByteArray()
      This method returns a new bit set containing all the bits in the given byte array.
      22
      long[] toLongArray()
      This method returns a new long array containing all the bits in this bit set.
      23
      String toString()
      This method returns a string representation of this bit set.
      24
      static BitSet valueOf(byte[] bytes)
      This method returns a new bit set containing all the bits in the given byte array.
      25
      void xor(BitSet set)
      This method performs a logical XOR of this bit set with the bit set argument.

      BitSet Class Example

      The following Java program illustrates several of the methods supported by this data structure
      import java.util.BitSet;
      public 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("\nInitial pattern in bits2: ");
      System.out.println(bits2);
      
      // AND bits
      bits2.and(bits1);
      System.out.println("\nbits2 AND bits1: ");
      System.out.println(bits2);
      
      // OR bits
      bits2.or(bits1);
      System.out.println("\nbits2 OR bits1: ");
      System.out.println(bits2);
      
      // XOR bits
      bits2.xor(bits1);
      System.out.println("\nbits2 XOR bits1: ");
      System.out.println(bits2);
      }
      }
      This will produce the following result
      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:
      {}

      Methods Inherited

      This class inherits methods from the following classes
      • java.util.Object