Java BitSet toByteArray()方法及示例

Java BitSet toByteArray()方法及示例

java.util.BitSet.toByteArray()是BitSet类的一个内置方法,用来产生一个新的字节数组,包含现有BitSet的所有位。根据官方文档,这个过程的工作方式如下。

如果, byte[] bytes = bit_set.toByteArray();

那么, bytes.length == (bit_set.length()+7)/8 和,

bit_set.get(n) == ((bytes[n/8] & (1<<(n%8))) != 0)

对于所有的n < 8 * bytes.length

语法

Bit_Set.toByteArray()

参数: 该方法不接受任何参数。

返回值: 该方法返回由给定BitSet元素的ByteArray表示组成的集合。

下面的程序说明了java.util.BitSet.toByteArray()方法的工作:

程序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,

程序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,

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程