Java BitSet

java.util.BitSet
// 位与
void and(BitSet set)
// 参数set先取反,再与
void andNot(BitSet set)
// 位或
void or(BitSet set)
// 异或
void xor(BitSet set)
// 该位取反
void flip(int bitIndex)
// 一片区取反,前闭后开
void flip(int fromIndex, int toIndex)

// 如果有一个位两者都为true,返回true
boolean intersects(BitSet set)

// 设置该位为true
void set(int bitIndex)
void set(int bitIndex, boolean value)
// 设置一片区为true,前闭后开
void set(int fromIndex, int toIndex)
void set(int fromIndex, int toIndex, boolean value)

// 返回指定位置的值
boolean get(int bitIndex)
// 返回一个BitSet子集,前闭后开
BitSet get(int fromIndex, int toIndex)

// 设置所有位为false
void clear()

// 返回从指定位置开始的第一个为true的位置,否则返回 -1
int nextSetBit(int fromIndex)
// 返回从指定位置开始的第一个为false的位置
int nextClearBit(int fromIndex)

// 返回位为true的个数
int cardinality()

// 返回以最高位为true做结束的长度
int length()

// 如果没有一位为true,返回true
boolean isEmpty()

BitSet bit = new BitSet();
bit.set(2);
bit.set(5, false);
bit.length();	// 3

参看Java API文档

你可能感兴趣的:(java)