java基础之位集(Bitset)

        BitSet类用于存放一个位序列(它不是数学上的集,称为位向量或位数组更为合适)。如果需要高效地存储位序列(例如,标志)就可以使用位集。由于位集将位包装在字节里,所以,使用位集要比使用Boolean对象的ArrayList更加高效。

        BitSet类提供了一个便于读取、设置或清除各个位的接口。使用这个接口可以避免屏蔽和其他麻烦的位操作。如果将这些位存储在int或long变量中就必须进行这些繁琐的操作。

        例如,对于一个名为bucketOfBits的BitSet,bucketOfBits.get(i)如果第i位处于“开”状态,就返回true;否则返回false。同样地,bucketOfBits.set(i)将第i位置为“开”状态。最后,bucketOfBits.clear⑴将第i位置为“关”状态。

常用方法

BitSet(int initialCapacity)

创建一个位集。

int length()

返回位集的“逻辑长度”,即1加上位集的最高设置位的索引。

boolean get(int bit)

获得一个位。

void set(int bit)

设置一个位。

void clear(int bit)

清除一个位。

void and(BitSet set)

这个位集与另一个位集进行逻辑“AND”。

voi dor(BitSet set)

这个位集与另一个位集进行逻辑“OR”。

void xor(Bit Setset)

这个位集与另一个位集进行逻辑“X0R”。

void andNot(BitSet set)

清除这个位集中对应另一个位集中设置的所有位。 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值