Java.util.BitSet 类在Java中的示例|设置 1
BitSet是在Java.util 包中定义的一个类。它创建一个由布尔值表示的位数组。
构造函数:
BitSet class Constructors
/ \
BitSet() BitSet(int no_Of_Bits)
- BitSet() :用于创建空 BitSet 对象的无参数构造函数。
- BitSet(int no_Of_Bits):带有整数参数的 one 构造函数,用于创建 BitSet 类的实例,整数参数的初始大小表示位数。
Java
// Java program illustrating Bitset Class constructors.
import java.util.*;
public class GFG
{
public static void main(String[] args)
{
// Constructors of BitSet class
BitSet bs1 = new BitSet();
BitSet bs2 = new BitSet(6);
/* set is BitSet class method
explained in next articles */
bs1.set(0);
bs1.set(1);
bs1.set(2);
bs1.set(4);
// assign values to bs2
bs2.set(4);
bs2.set(6);
bs2.set(5);
bs2.set(1);
bs2.set(2);
bs2.set(3);
// Printing the 2 Bitsets
System.out.println("bs1 : " + bs1);
System.out.println("bs2 : " + bs2);
}
}
Java
// Java program illustrating Exception when we access
// out of index in BitSet class.
import java.util.*;
public class GFG
{
public static void main(String[] args)
{
// Constructors of BitSet class
BitSet bs1 = new BitSet();
// Negative array size
BitSet bs2 = new BitSet(-1);
/* set is BitSet class method
explained in next articles */
// assigning values to bitset 1
bs1.set(0);
bs1.set(1);
// assign values to bs2
bs2.set(4);
bs2.set(6);
System.out.println("bs1 : " + bs1);
System.out.println("bs2 : " + bs2);
}
}
输出:
bs1 : {0, 1, 2, 4}
bs2 : {1, 2, 3, 4, 5, 6}
要点:
- 数组的大小是灵活的,可以根据需要增长以容纳额外的位。
- 由于它是一个数组,因此索引是从零开始的,并且位值只能通过非负整数作为索引来访问。
- BitSet 的默认值为 boolean false,表示为 0(关闭)。
- 调用 clear 方法会使位值设置为 false。
- BitSet 每个布尔值使用大约 1 位。
- 要访问 BitSet 中的特定值,get 方法与整数参数一起用作索引。
如果 bitset 中的数组索引设置为 Negative 会发生什么?
该程序将抛出Java.lang.NegativeArraySizeException
Java
// Java program illustrating Exception when we access
// out of index in BitSet class.
import java.util.*;
public class GFG
{
public static void main(String[] args)
{
// Constructors of BitSet class
BitSet bs1 = new BitSet();
// Negative array size
BitSet bs2 = new BitSet(-1);
/* set is BitSet class method
explained in next articles */
// assigning values to bitset 1
bs1.set(0);
bs1.set(1);
// assign values to bs2
bs2.set(4);
bs2.set(6);
System.out.println("bs1 : " + bs1);
System.out.println("bs2 : " + bs2);
}
}
输出:
Exception in thread "main" java.lang.NegativeArraySizeException: nbits < 0: -1
at java.util.BitSet.(BitSet.java:159)
at GFG.main(NewClass.java:9)
Java中的BitSet 类方法与示例|设置 2