示例: 我有一個120位的位集(010 * * 001000 ......)。現在我想修改設置爲0的第4位爲1.如何修改BitSet類對象的各個位
SET(4,TRUE) - 類似這樣的東西。它可以在Java中完成嗎?
我可以通過cov =將bitset轉換爲char []數組,然後更改精確位並再次將其反轉回Bitset,但它使用大量不必要的內存並會妨礙性能。一個例子會很好。 如果需要更多的說明,請通過您的意見告訴我。
示例: 我有一個120位的位集(010 * * 001000 ......)。現在我想修改設置爲0的第4位爲1.如何修改BitSet類對象的各個位
SET(4,TRUE) - 類似這樣的東西。它可以在Java中完成嗎?
我可以通過cov =將bitset轉換爲char []數組,然後更改精確位並再次將其反轉回Bitset,但它使用大量不必要的內存並會妨礙性能。一個例子會很好。 如果需要更多的說明,請通過您的意見告訴我。
BitSet API在javadoc中有描述,並且有多個set(...)
方法用於設置或清除各個位或位的範圍。
BitSet b = ...
b.set(4, true);
閱讀的javadoc,以找出是否您使用索引的權值。 (從零開始計數,從一開始計數)
其實,剛剛閱讀javadoc。
是的,我們實際上可以做到這一點。 BitSet類提供了設置和清除各個位的方法。
它有不同的參數四套方法輸入 -
1.設置(INT bitIndex處) - 設置在指定的索引爲true在位。
2.set(int bitIndex,boolean value) - 將指定索引處的位設置爲指定值。 3.set(int fromIndex,int toIndex) - 將指定的fromIndex(包含)到指定的toIndex(不包含)中的位設置爲true。 4.set(int fromIndex,int toIndex,boolean value) - 將指定的fromIndex(包含)到指定的toIndex(不包含)中的位設置爲指定的值。
我試圖很快包括一個例子。
+1「實際上,只是閱讀javadoc」。 – 2011-04-08 07:46:25