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@232204a1The 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@232204a1The elements in the byteArray :0, -128, 32, 0, 0, 0, 1, 0, 1, 0, 0, -128, 0, 2, 