舉例解釋java BitSet

2021-08-21 04:12:20 字數 1026 閱讀 4380

如果想看高大上的可以點下面的鏈結

bitset 裡面有乙個long陣列,放入數字除以64取整則表示這個數字在long陣列的下標,且用餘數進行計算。

set方法:比如放入乙個3,則把1左移三位(1000)並且 「|" 上long[0]裡面的值(0)放入 long[0].

如果此時再放入乙個5則把1左移5位(100000) 並且 「|" 上long[0]裡面的值(101000)放入long[0],

如果在放入同樣的值結果不變. 

而假如這個時候放入乙個65,則由於66除以64取整是1,取餘2,則此時把1左移餘數2(100) 並且 「|「 long[1](

取整的1為前面取整所得)裡面的值(0)放入long[1]

get方法:之後假設從bitset裡面獲取3,則會把1左移3位(1000) 然後 &」long[0]裡的值(101000) 結果為1000不為0表示bitset裡存在3,

而假設獲取的是4(10000) "&"(101000)結果為0表示不存在4。獲取66同理。

set的值

放入words的下標wordindex

words[wordindex]的二進位制值30

1005

01010060

110100671

1000691

101000

1292

1get的值

下標wordindex

words[wordindex]的二進位制值結果3

0110100

100 |110100 = 10040

110100

1000 |110100 = 060

110100

100000 |110100 = 100000671

1000

1000 |101000= 1000681

11000

10000|101000=0

public void set(int bitindex)

public void set(int bitindex)

Java BitSet 簡單使用

bitset 簡單說明 在記憶體中是一串連續的記憶體空間,從0開始的正整數 按位操作,每一位的值只有兩種 0 或者 1,來表示某個值是否出現過。2 簡單使用 把 1 3 5 三個數放bitset中 bitset bitset newbitset bitset.set 1 bitset.set 3 b...

static關鍵字解釋及舉例

注意 靜態不能直接訪問非靜態,非靜態可以直接訪問靜態,因為在記憶體中靜態隨著類的載入而載入,先有的靜態再有的非靜態 靜態不能使用this關鍵字,因為this代表當前物件,而靜態方法不用建立物件就直接呼叫。static 靜態,也可以說是共享,下面舉乙個例子解釋 class test3 grade cl...

資料庫設計 三正規化 解釋 舉例

1nf 字段不可分 2nf 有主鍵,非主鍵字段依賴主鍵 3nf 非主鍵字段不能相互依賴 解釋 1nf 原子性 字段不可再分,否則就不是關聯式資料庫 2nf 唯一性 乙個表只說明乙個事物 3nf 每列都與主鍵有直接關係,不存在傳遞依賴 不符合第一正規化的例子 關聯式資料庫中create不出這樣的表 表...