📜  Java.util.BitSet 类在Java中的示例|设置 1

📅  最后修改于: 2022-05-13 01:55:21.994000             🧑  作者: Mango

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