Java BitSet 类

Java.util 包提供了一个 BitSet 类,它实现了根据需要增长的位向量。位组的每个组成部分都有一个布尔值。 BitSet 的位由非负整数索引。默认情况下,该组中的所有位最初的值为 false。一个 BitSet 可用于通过逻辑 AND、逻辑包含 OR 和逻辑异或操作来修改另一个 BitSet 的内容。

将 null 参数传递给 BitSet 中的任何方法都将导致 NullPointerException .

如果没有外部同步,BitSet 对于多线程使用是不安全的。

类声明

java.util.BitSet 类的声明是:

public class BitSet
  extends Object
    implements Cloneable, Serializable 

类构造函数

序号构造函数和描述
1.BitSet()
创建一个新位放.
2.BitSet(int nbits)
创建一个位集,其初始大小足够大显式地表示索引在 0 到 nbits-1 范围内的位.

java.util.BitSet 方法

java.util.BitSet 类有许多方法,如下所列:

成员方法

序号方法和说明
1.void and(BitSet set)
将此目标位集与参数位集执行逻辑与.
2.void andNot(BitSet set)
清除此 BitSet 中与指定 BitSet 中已设置相应位的所有位.
3.int cardinality()
返回此 BitSet 中设置为 true 的位数.
4.voidclear()
将此 BitSet 中的所有位设置为 false.
5.void clear(int bitIndex)
将索引指定的位设置为 false.
6.voidclear(int fromIndex, int toIndex)
将指定的 fromIndex(包括)到指定的 toIndex(不包括)的位设置为 false.
7.Object clone()
克隆此 BitSet 会生成一个与其相等的新 BitSet.
8.boolean equals(Object obj)
将此对象与指定对象进行比较.
9.void Flip(int bitIndex)
将指定索引处的位设置为其当前值的补码.
10.void Flip(int fromIndex, int toIndex)
将指定的 fromIndex(包括)到指定的 toIndex(不包括)的每一位设置为其当前值的补码.
11.boolean get(int bitIndex)
返回具有指定索引的位的值.
12.BitSet get(int fromIndex, int toIndex)
返回一个新的 BitSet,该 BitSet 由该 BitSet 中从 fromIndex(包括)到 toIndex(不包括)的位组成.
13.int hashCode()
返回该位集的哈希码值.
14.boolean intersects(BitSet set)
如果指定的 BitSet 有任何设置为 true 且在此 BitSet 中也设置为 true 的位,则返回 true.
15.boolean isEmpty()
如果 BitSet 不包含位,则返回 true,否则返回 false.
16.int length()
返回此 BitSet 的"逻辑大小":BitSet 中最高设置位的索引加一.
17.int nextClearBit(int fromIndex)
返回出现在指定起始索引上或之后的第一个设置为 false 的位的索引.
18.int nextSetBit(int fromIndex)
返回出现在指定起始索引上或之后的第一个设置为 true 的位的索引.
19.void or(BitSet set)
将此位集与位集参数执行逻辑或.
20.int previousClearBit(int fromIndex)
返回出现在指定起始索引上或之前的最近设置为 false 的位的索引.
21.

int previousSetBit(int fromIndex)

返回出现在指定起始索引上或之前的最近设置为 true 的位的索引.

22.void set(int bitIndex)
将指定索引处的位设置为 true.
23.void set(int bitIndex,boolean value)
将指定索引处的位设置为指定值.
24.void set(int fromIndex, int toIndex)
将指定的 fromIndex(包括)到指定的 toIndex(不包括)的位设置为 true.
25.void set(int fromIndex, int toIndex, boolean value)
将指定的 fromIndex(包含)到指定的 toIndex(不包含)的位设置为指定值.
26.int size()
返回此 BitSet 实际使用的空间位数来表示位值.
27.IntStream stream()
返回此 BitSet 包含处于设置状态的位的索引流.
28.byte[] toByteArray()
返回一个新的字节数组,其中包含该位集中的所有位.
29.long[] toLongArray()
返回一个新的长数组,其中包含该位集中的所有位.
30.String toString()
返回此位集的字符串表示形式.
31.static BitSet valueOf(byte[ ] bytes)
返回一个新的位集,其中包含给定字节数组中的所有位.
32.static BitSet valueOf(ByteBuffer bb )
返回一个新的位集,其中包含给定字节缓冲区中其位置和限制之间的所有位.
33.static BitSet valueOf(long[ ] bytes)
返回一个新的位集,其中包含给定长数组中的所有位.
34.static BitSet valueOf(LongBuffer lb )
返回一个新的位集,其中包含给定长缓冲区中其位置和限制之间的所有位.
35.void xor(BitSet set)
将此位集与位集参数执行逻辑异或.

继承的方法

该类继承了以下类的方法:

  • java.lang.Object