24.void set(int fromIndex, int toIndex) 将指定的 fromIndex (含)到指定的 toIndex (不包括)的位设置为 true 。 25.void set(int fromIndex, int toIndex, boolean value) 将指定的 fromIndex (含)到指定的 toIndex (不包括)的位设置为指定的值。 26.int size() 返回此 BitSet实际使用的空...
12.BitSet get(int fromIndex, int toIndex) 返回一个新的 BitSet由 BitSet从 fromIndex (含)到 toIndex (独家)的位组成。 1 hashCode() 返回此位集的哈希码值。 14.boolean intersects(BitSet set) 如果指定的 BitSet任何位设置为 true true在此 BitSet中也设置为 true ,则返回true。 15.boolean isEmpty(...
util.BitSet; public class BitSetDemo { public static void main(String args[]) { BitSet bits1 = new BitSet(16); BitSet bits2 = new BitSet(16); // set some bits for(int i=0; i<16; i++) { if((i%2) == 0) bits1.set(i); if((i%5) != 0) bits2.set(i); } System....
转化到words数组中对应的位置就是下标为 1 处的第 36 个比特位。 public void set(int bitIndex) { if (bitIndex < 0) throw new IndexOutOfBoundsException("bitIndex < 0: " + bitIndex); int wordIndex = wordIndex(bitIndex); expandTo(wordIndex); words[wordIndex] |= (1L << bitIndex); ...
sizeIsSticky:跟踪 BitSet 的大小是否在序列化后保持不变。 1.2. 主要方法 设置位 public void set(int bitIndex) { if (bitIndex < 0) throw new IndexOutOfBoundsException("bitIndex < 0: " + bitIndex); int wordIndex = wordIndex(bitIndex); ...
int nextSetBit(int startIndex):从startIndex开始,第一个出现true的位置 bs1:1010System.out.println(bs1.nextSetBit(1));System.out.println(bs1.nextSetBit(0));输出为:20 int size( ):Returns the number of bits of space actually in use by this {@code BitSet} to represent bit values. ...
*/privatevoidinitWords(intnbits){ words =newlong[wordIndex(nbits-1) +1]; } } BitSet内部是使用long数组来存储所有数据的,相比HashMap还是很节省内存的。 可以看到ArrayList的removeIf()方法实现也是实现了一个简单的BitSet。 EnumSet的两种实现RegularEnumSet和JumboEnumSet也是通过BitSet的思想实现的。
自JDK1.0以来java.util包中提供一个类BitSet来解决这个问题 BitSet基本用法 publicBitSet()//空构造方法 publicBitSet(intnbits)//根据指定大小构造 publicvoidset(intbitIndex,booleanvalue)//设置第bitIndex位为 value publicbooleanget(intbitIndex)//获取第bitIndex位的值 如何实现BitSet类(取自JDK11.0源码) JKD11...
voidandNot(BitSetset) 清除此BitSet中所有的位,其相应的位在指定的BitSet中已设置。 intcardinality() 返回此BitSet中设置为true的位数。 voidclear() 将此BitSet 中的所有位设置为false。 voidclear(int bitIndex) 将索引指定处的位设置为false。 voidclear(int fromIndex, int toIndex) ...
voidandNot(BitSet set) 清除此 BitSet的所有位,其相应位在指定的 BitSet设置。 intcardinality() 返回此 BitSet设置为 true的BitSet。 voidclear() 将此BitSet中的所有位设置为 false。 voidclear(int bitIndex) 将索引指定的位设置为 false。 voidclear(int fromIndex, int toIndex) 将指定的...