Java.util.BitSet 类

java.util.BitSet.nextSetBit() 方法返回发生的第一个设置为 true 的位的索引在指定的起始索引处或之后。如果不存在这样的位,则返回 -1。

语法

public int nextSetBit(int fromIndex)

参数

fromIndex 指定开始检查的索引(包括)。

返回值

返回索引下一个设置位,如果没有这样的位,则为 -1。

异常

如果指定的索引为负数,则抛出 IndexOutOfBoundsException

示例:

在下面的示例中,java.util.BitSet.nextSetBit() 方法返回设置的第一个位的索引为 true 并出现在给定 BitSet 中指定的起始索引处或之后。

import java.util.*;

public class MyClass {
  public static void main(String[] args) {
    //创建一个BitSet
    BitSet BSet = new BitSet();

    //填充 BitSet
    BSet.set(1);
    BSet.set(2);
    BSet.set(3);
    BSet.set(10);
    BSet.set(11); 

    //打印位集
    System.out.println("BSet contains: " + BSet);

    //查找设置为true的位的索引
    //发生在索引 = 5 或之后
    System.out.print("bit which is set to true on or after index 5 is: ");
    System.out.print(BSet.nextSetBit(5));
  }
}

上述代码的输出将是:

BSet contains: {1, 2, 3, 10, 11}
bit which is set to true on or after index 5 is: 10