Java.util.BitSet类在Java中的应用实例

Java.util.BitSet类在Java中的应用实例

BitSet 是一个定义在java.util包中的类。它创建了一个由布尔值表示的比特数组。

构造函数

BitSet class Constructors
    /                  \ 
 BitSet()          BitSet(int no_Of_Bits)
Java
  • BitSet() : 一个无参数的构造函数,创建一个空的BitSet对象。

  • BitSet(int no_Of_Bits): 一个带整数参数的构造函数,用于创建BitSet类的一个实例,初始大小为代表比特数的整数参数。

// 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

输出。

bs1 : {0, 1, 2, 4}
bs2 : {1, 2, 3, 4, 5, 6}
Java

重要的一点:

  • 数组的大小是灵活的,可以根据需要增长以容纳额外的位。
  • 由于它是一个数组,索引是基于零的,只能用非负整数作为索引来访问比特值。
  • BitSet的默认值是布尔值false,表示为0(关闭)。
  • 调用clear方法会使位值设置为false。
  • BitSet每一个布尔值使用大约1比特。
  • 要访问BitSet中的一个特定值,可以使用get方法,用一个整数参数作为索引。

如果bitset中的数组索引被设置为负数会怎样

程序将抛出java.lang.NegativeArraySizeException。

// 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);
    }
}
Java

输出。

Exception in thread "main" java.lang.NegativeArraySizeException: nbits < 0: -1
    at java.util.BitSet.(BitSet.java:159)
    at GFG.main(NewClass.java:9)
Java

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册