Java BitSet previousSetBit() 方法



描述

Java BitSet previousSetBit(int fromIndex) 方法返回在指定起始索引或之前设置第一个为 true 的位的索引。

声明

以下是 java.util.BitSet.previousSetBit() 方法的声明

public int previousSetBit(int fromIndex)

参数

fromIndex - 开始检查的索引(包含)。

返回值

此方法返回前一个已设置位的索引。

异常

IndexOutOfBoundsException - 如果指定的索引为负数。

获取 BitSet 的前一个已设置位示例

以下示例显示了 Java BitSet previousSetBit() 方法的使用。我们创建了两个 BitSet。我们使用 set() 方法调用在 BitSet 对象中设置 true 值,并使用 previousSetBit() 方法打印 bitset 的前一个已设置位。

package com.tutorialspoint;

import java.util.BitSet;

public class BitSetDemo {
   public static void main(String[] args) {

      // create 2 bitsets
      BitSet bitset1 = new BitSet();
      BitSet bitset2 = new BitSet();

      // assign values to bitset1
      bitset1.set(0, 6, true);

      // assign values to bitset2
      bitset2.set(2);
      bitset2.set(4);
      bitset2.set(6);
      bitset2.set(8);
      bitset2.set(10);

      // print the sets
      System.out.println("Bitset1:" + bitset1);
      System.out.println("Bitset2:" + bitset2);

      // print the previous set bit
      System.out.println(bitset1.previousSetBit(5));
      System.out.println(bitset2.previousSetBit(10));
   }
}

输出

让我们编译并运行以上程序,这将产生以下结果:

Bitset1:{0, 1, 2, 3, 4, 5}
Bitset2:{2, 4, 6, 8, 10}
5
10

获取字节 BitSet 的前一个已设置位示例

以下示例显示了 Java BitSet previousSetBit() 方法的使用。我们使用 byte[] 创建了两个 BitSet,并使用 previousSetBit() 方法打印 bitset 的前一个已设置位。

package com.tutorialspoint;

import java.util.BitSet;

public class BitSetDemo {
   public static void main(String[] args) {

      // create 2 bitsets
      BitSet bitset1 = BitSet.valueOf(new byte[] { 0, 1, 2, 3, 4, 5 });
      BitSet bitset2 = BitSet.valueOf(new byte[] { 2, 4, 6, 8, 10 });

      // print the sets
      System.out.println("Bitset1:" + bitset1);
      System.out.println("Bitset2:" + bitset2);

      // print the previous set bit
      System.out.println(bitset1.previousSetBit(42));
      System.out.println(bitset2.previousSetBit(35));
   }
}

输出

让我们编译并运行以上程序,这将产生以下结果:

Bitset1:{8, 17, 24, 25, 34, 40, 42}
Bitset2:{1, 10, 17, 18, 27, 33, 35}
42
35

获取长整型 BitSet 的前一个已设置位示例

以下示例显示了 Java BitSet previousSetBit() 方法的使用。我们使用 long[] 创建了两个 BitSet,并使用 previousSetBit() 方法打印 bitset 的前一个已设置位。

package com.tutorialspoint;

import java.util.BitSet;

public class BitSetDemo {
   public static void main(String[] args) {

      // create 2 bitsets
      BitSet bitset1 = BitSet.valueOf(new long[] { 0, 1, 2, 3, 4, 5 });
      BitSet bitset2 = BitSet.valueOf(new long[] { 2, 4, 6, 8, 10 });

      // print the sets
      System.out.println("Bitset1:" + bitset1);
      System.out.println("Bitset2:" + bitset2);

      // print the previous set bit
      System.out.println(bitset1.previousSetBit(332));
      System.out.println(bitset2.previousSetBit(259));
   }
}

输出

让我们编译并运行以上程序,这将产生以下结果:

Bitset1:{64, 129, 192, 193, 258, 320, 322}
Bitset2:{1, 66, 129, 130, 195, 257, 259}
322
259
java_util_bitset.htm
广告