Java 简明教程
Java BitSet Class
Introduction
Java BitSet 类创建了一个特殊类型,可保存位值。BitSet 数组可以根据需要增加大小。这使其类似于位向量。这是一个旧类,但是它已经过 Java 2 1.4 版的完全重构。
Java BitSet 类实现了一个根据需要增长的位向量。以下是有关 BitSet 的重要要点——
-
如果没有外部同步,BitSet 不适用于多线程使用。
-
集合中所有位最初的值都为假。
-
如果将 null 参数传递给 BitSet 中任何方法都会导致 NullPointerException。
Class declaration
以下是 java.util.BitSet 类的声明——
public class BitSet
extends Object
implements Cloneable, Serializable
Creating a BitSet and Performing Operations on BitSets Example
以下程序展示了位集数据结构支持的几种方法 −
import java.util.BitSet;
public class BitSetDemo {
public static void main(String args[]) {
BitSet bits1 = new BitSet(16);
BitSet bits2 = new BitSet(16);
// set some bits
for(int i = 0; i < 16; i++) {
if((i % 2) == 0) bits1.set(i);
if((i % 5) != 0) bits2.set(i);
}
System.out.println("Initial pattern in bits1: ");
System.out.println(bits1);
System.out.println("\nInitial pattern in bits2: ");
System.out.println(bits2);
// AND bits
bits2.and(bits1);
System.out.println("\nbits2 AND bits1: ");
System.out.println(bits2);
// OR bits
bits2.or(bits1);
System.out.println("\nbits2 OR bits1: ");
System.out.println(bits2);
// XOR bits
bits2.xor(bits1);
System.out.println("\nbits2 XOR bits1: ");
System.out.println(bits2);
}
}
这会产生以下结果 −