BitSet是java.util包中定义的类。它创建一个由布尔值表示的位数组。
先决条件:Java BitSet |套装1
Bitset.previousSetBit()
此方法用于查找在指定的起始索引上或之前是否存在任何真位。
此函数返回在指定的起始索引上或之前出现的,设置为true的最近位的索引。如果不存在这样的位,或者给定-1作为起始索引,则返回-1。
用法:
public int previousSetBit(int fromIndex)
参数:此方法采用强制性参数fromIndex,该参数是从(包括)开始检查在此fromIndex或之前出现的真实位的索引。
返回值:此方法返回在指定索引上或之前出现的前一个设置位的索引;如果没有这样的位,则返回-1。
异常:如果指定的索引小于-1,则此方法将引发IndexOutOfBoundsException。
注意:要遍历BitSet中的真实位,请使用以下循环:
for (int i = bs.length(); (i = bs.previousSetBit(i-1)) >= 0; ) { // operate on index i here }
以下示例程序旨在说明previousSetBit()方法:
示例1:要显示previousSetBit()函数的实现:
// Java program illustrating Bitset
// previousSetBit() function.
import java.util.*;
public class GFG {
public static void main(String[] args)
{
// Constructors of BitSet class
BitSet bs1 = new BitSet();
BitSet bs2 = new BitSet();
BitSet bs3 = new BitSet();
/* assigning values to set1*/
bs1.set(0);
bs1.set(1);
bs1.set(2);
bs1.set(4);
// assign values to bs2
bs2.set(4);
bs2.set(6);
bs2.set(5);
bs2.set(1);
bs2.set(2);
bs2.set(3);
bs2.set(12);
// Printing the 2 Bitsets
System.out.println("bs1 : " + bs1);
System.out.println("bs2 : " + bs2);
System.out.println("bs3 : " + bs3);
// Performing length() on bitsets
System.out.println("Previous Set Bit of bs1 "
+ bs1.previousSetBit(2));
System.out.println("Previous Set Bit of bs2 "
+ bs2.previousSetBit(1));
System.out.println("Previous Set Bit of bs3 "
+ bs3.previousSetBit(3));
}
}
输出:
bs1 : {0, 1, 2, 4} bs2 : {1, 2, 3, 4, 5, 6, 12} bs3 : {} Previous Set Bit of bs1 2 Previous Set Bit of bs2 1 Previous Set Bit of bs3 -1
示例2:要显示IndexOutOfBoundException:
// Java program illustrating Bitset
// previousSetBit() function.
import java.util.*;
public class GFG {
public static void main(String[] args)
{
// Constructors of BitSet class
BitSet bs1 = new BitSet();
// assigning values to set1
bs1.set(0);
bs1.set(1);
bs1.set(2);
bs1.set(4);
// Printing the Bitset
System.out.println("bs1 : " + bs1);
try {
// Passing -2 as parameter
System.out.println(bs1.previousSetBit(-2));
}
catch (Exception e) {
System.out.println("Exception when "
+ "index less than -1 is passed "
+ "as parameter : " + e);
}
}
}
输出:
bs1 : {0, 1, 2, 4} Exception when index less than -1 is passed as parameter : java.lang.IndexOutOfBoundsException: fromIndex
相关用法
- Java BitSet isEmpty()用法及代码示例
- Java BitSet nextSetBit()用法及代码示例
- Java BitSet previousClearBit()用法及代码示例
- Java BitSet nextClearBit()用法及代码示例
- Java BitSet toByteArray()用法及代码示例
- Java BitSet toString()用法及代码示例
- Java BitSet stream()用法及代码示例
- Java BitSet hashCode用法及代码示例
- Java BitSet clone()用法及代码示例
- Java BitSet toLongArray()用法及代码示例
- Java BitSet length()用法及代码示例
- Java BitSet equals()用法及代码示例
- Java BitSet size()用法及代码示例
- Java Java.util.BitSet.set()用法及代码示例
注:本文由纯净天空筛选整理自barykrg大神的英文原创作品 BitSet previousSetBit() method in Java。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。