java bitset类_Java中的Java.util.BitSet类与示例 - Break易站

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

构造函数:

BitSet类构造函数

/ \

BitSet()BitSet(int no_Of_Bits)

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

expalined 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);

}

}

输出:

bs1:{0,1,2,4}

bs2:{1,2,3,4,5,6}

重点:

阵列的大小是灵活的,可以根据需要增长以容纳额外的位。

由于它是一个数组,索引是基于零的,并且位值只能由非负整数作为索引访问。

BitSet的默认值为boolean false,表示形式为0(off)。

调用清除方法会将位值设置为false。

BitSet每布尔值使用大约1位。

要访问BitSet中的特定值,get方法将与整数参数一起用作索引。

如果bitset中的数组索引被设置为Negative会发生什么?

该程序将抛出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

expalined 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)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值