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