iT邦幫忙

0

[Java] BitSet 介紹

  • 分享至 

  • xImage
  •  

閱讀時間: 5分鐘

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);
   }
}

大家可以自行嘗試一下,然後觀察結果。


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言