BitSet class 可以創建一個特別的array類型以儲存bit的值。
可以將BitSet視為bit array,因為它只是由bit組成的。
而BitSet array的大小可以按需要增加,這個跟vector相似。
優點:
用bit來儲存資料,使用上可以大大節省存儲空間。
另外,BitSet有兩個constructors:
1, BitSet( ) – 創建默認物件(Object)
2, BitSet(int size) – 可以指定物件的大小,而每個bit的預設值是0。
例子: (包含相關method的運用)
import java.util.BitSet;
public class BitSetDemo {
public static void main(String args[]) {
BitSet bits1 = new BitSet(16); //設定BitSet物件的大小為16
BitSet bits2 = new BitSet(16);
// 修改預設array的值 (預設為0)
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 method
bits2.and(bits1);
System.out.println("\nbits2 AND bits1: ");
System.out.println(bits2);
// 運用OR method
bits2.or(bits1);
System.out.println("\nbits2 OR bits1: ");
System.out.println(bits2);
// 運用XOR method
bits2.xor(bits1);
System.out.println("\nbits2 XOR bits1: ");
System.out.println(bits2);
}
}
大家可以自行嘗試一下,然後觀察結果。