這是一種位集合,操作一組布林值的時候可以通過(或or,與and,異或xor)等方法快速改變其組內某一部分值
bitset bits1 = new bitset(10);
bitset bits2 = new bitset(10);
for(int i=1;i<21;i++)
if(i%3==0)
else
continue;
}首先對兩個bitset變數賦值結果為
bits1.xor(bits2);
system.out.println("兩集合異或:"+bits1);
兩集合異或:,呼叫的是bits1的方法,這是bits1目前的值,bits2仍為原陣列
bits1.and(bits2);
system.out.println("兩集合並:"+bits1);
結果:兩集合並:
注意:呼叫的一直是bits1內的方法,bits2的值一直保持為
bits1.cardinality( )此方法是判斷集合內設定為true的個數
system.out.println("設定為true的位數:"+bits1.cardinality( ));
結果為( 設定為true的位數:3 )
重點:這裡有乙個重點需要先知道,bitset集合所顯示出來的數字都是被設定為true的,比如集合相當於其有這幾個元素,分別對應只有為true的地方才會被顯示出來,所以集合的長度實際為7
bits1.clear(15);//引數為要刪除的集合裡的某個數值,(並非該位的值為15,可將其當作序號理解,第15位值有true變為false)
system.out.println("清除值為15後:"+bits1);
清除值為15後:
將集合裡所有元素清除
集合中無該引數,則新增入集合,有該引數則從集合中刪除
bits2.flip(1,4);/*將【min,max)範圍內有該元素的刪除,無的加入;(相當於非)
文件寫其作用是清除下標【min,max)中的元素,不過測試了輸出結果並沒有出現該作用,這個問題待解決
bits1.equals(bits2);//判斷兩集合是否相等,是為true,不等為false
bits2.get(3); //判斷集合內是否有該引數,返回值為boolean型,即判斷第三位的值是否被設定為true,集合內是否出現
bits2.get(1,15));/*get(min,max)返回【min,max)內的乙個新集合,集合為原集合在該範圍內的元素分別減1, 如原集合,返回*/
bits2.hashcode();//返回雜湊值
bits1.intersects(bits2));//判斷兩個集合是否有某元素相同,即有同乙個位被設定為true
bits1.isempty();//集合是否為空,為空則true
bits1.length();//返回該集合最大值加1,如,最大為6,返回7
(這個length()方法可以結合上面提到的重點理解)
bits1.nextclearbit(9));/*返回從該引數開始的集合中,值為false的下乙個元素,如集合,bits1.nextclearbit(1),則返回1,bits1.nextclearbit(6),則返回7*/
bits1.set('0'); //加入ascll碼,集合會將其顯示為48
bits1.set(1,5);//將範圍【1,5)設定為true
最後乙個是bits1.clone()轉殖方法,文件說是返回與之相同的乙個集合
但bitset b1 = new bitset();
b1 = bits1.clone();
會編譯錯誤,此處求大神指教
建議用bitset b1 = new bitset();
b1 = bits1; 代替clone()方法
Java 資料結構 Bitset類
乙個bitset類建立一種特殊型別的陣列來儲存位值。bitset中陣列大小會隨需要增加。這和位向量 vector of bits 比較類似。這是乙個傳統的類.public static void main string args system.out.println initial pattern ...
資料結構 位集合 bitset
位集合 bitset 用來方便地管理一系列的bit位,其只能儲存值為0或1,true或false的值。該類模擬乙個bool元素陣列,但針對空間分配進行了優化,通常每個元素只占用乙個位。在位集合中,每個位位置都可以單獨訪問,例如,對於乙個名為foo的給定位集合,表示式foo 3 訪問其第四位,就像正則...
JAVA之資料結構
知識點總結 一 陣列 宣告 object arr new object 長度 object arr object arr new object 賦值 arr 下標 值 獲取陣列長度 arr 下標 值 取值 arr 下標 普通for迴圈遍歷for int i 0 i二 集合 特點 可變長度。colle...