📅  最后修改于: 2023-12-03 15:16:20.721000             🧑  作者: Mango
在Java中,BitSet是一个用于存储布尔值的集合,并可以进行各种逻辑运算。BitSet类提供了许多有用的方法,其中toLongArray()方法可以将BitSet对象转换为一个long类型的数组。
public long[] toLongArray()
该方法返回一个long类型的数组,数组的每个元素对应一个long类型的二进制位。如果BitSet包含的位数不是long类型所能表示的范围,那么会将多余的位填充为0。
import java.util.BitSet;
public class BitSetExample {
public static void main(String[] args) {
BitSet bitSet = new BitSet(64);
bitSet.set(0, true);
bitSet.set(1, true);
bitSet.set(4, true);
bitSet.set(5, true);
bitSet.set(7, true);
bitSet.set(10, true);
long[] longArray = bitSet.toLongArray();
for (long word : longArray) {
System.out.println(Long.toBinaryString(word));
}
}
}
运行以上代码,输出结果如下:
101000000000110
0
说明toLongArray()方法将BitSet转换为了一个长为2的long类型数组,其中第一个元素对应二进制数101000000000110,第二个元素为0,表明bitSet只占用了63个二进制位。
本示例中,我们首先创建一个长度为64的BitSet对象,然后通过set()方法设置了几个二进制位为1。接着调用toLongArray()方法将BitSet转换为了long类型的数组,并遍历输出了每个long类型元素的二进制表示方式。