The java.util.BitSet.toByteArray() is an inbuilt method of BitSet class that is used to produce a new byte array containing all of the bits of the existing BitSet. As per the official documentation, this process works in the following way:
if, byte[] bytes = bit_set.toByteArray();
then, bytes.length == (bit_set.length()+7)/8 and,
bit_set.get(n) == ((bytes[n/8] & (1<<(n%8))) != 0)For all n < 8 * bytes.length
Syntax:
Bit_Set.toByteArray()
Parameter: The method does not take any parameters.
Return value: The method returns the set consisting of ByteArray representation of the elements of the given BitSet.
Below programs illustrate the working of java.util.BitSet.toByteArray() method:
Program 1:
// Java code to illustrate toByteArray() import java.util.*;   public class BitSet_Demo {     public static void main(String args[])     {         // Creating an empty BitSet         BitSet init_bitset = new BitSet();           // Use set() method to add elements into the Set         init_bitset.set( 10 );         init_bitset.set( 20 );         init_bitset.set( 30 );         init_bitset.set( 40 );         init_bitset.set( 50 );           // Displaying the BitSet         System.out.println( "BitSet: " + init_bitset);           byte [] arr = init_bitset.toByteArray();         System.out.println( "The byteArray is: " + arr);           // Displaying the byteArray         System.out.println( "The elements in the byteArray :" );         for ( int i = 0 ; i < arr.length; i++)             System.out.print(arr[i] + ", " );     } } |
BitSet: {10, 20, 30, 40, 50} The byteArray is: [B@232204a1 The elements in the byteArray : 0, 4, 16, 64, 0, 1, 4,
Program 2:
// Java code to illustrate toByteArray() import java.util.*;   public class BitSet_Demo {     public static void main(String args[])     {         // Creating an empty BitSet         BitSet init_bitset = new BitSet();           // Use set() method to add elements into the Set         init_bitset.set( 48 );         init_bitset.set( 64 );         init_bitset.set( 15 );         init_bitset.set( 95 );         init_bitset.set( 105 );         init_bitset.set( 21 );           // Displaying the BitSet         System.out.println( "BitSet: " + init_bitset);           byte [] arr = init_bitset.toByteArray();         System.out.println( "The byteArray is: " + arr);           // Displaying the byteArray         System.out.println( "The elements in the byteArray :" );         for ( int i = 0 ; i < arr.length; i++)             System.out.print(arr[i] + ", " );     } } |
BitSet: {15, 21, 48, 64, 95, 105} The byteArray is: [B@232204a1 The elements in the byteArray : 0, -128, 32, 0, 0, 0, 1, 0, 1, 0, 0, -128, 0, 2,