BitSet es una clase definida en el paquete java.util. Crea una array de bits representados por valores booleanos.
Requisito previo: Java BitSet | Serie 1
Bitset.previousClearBit()
Este método se usa para encontrar el bit falso que ocurre en o antes del índice pasado como parámetro. Este método devuelve el índice del bit más cercano que se establece en falso que ocurre en o antes del índice de inicio especificado. Si no existe tal bit, o si se proporciona -1 como índice inicial, se devuelve -1.
Sintaxis:
public int previousClearBit(int fromIndex)
Parámetros: este método toma fromIndex , que es el índice desde el que comenzar a verificar (inclusive).
Valor devuelto: este método devuelve el índice del bit de borrado anterior, o -1 si no existe tal bit
Excepción: este método genera una excepción IndexOutOfBoundsException si el índice especificado es inferior a -1.
Los siguientes programas ilustran el método anteriorCleatBit():
Programa 1:
// Java program illustrating Bitset // previousClearBit() 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 previousClearBit() on bitsets System.out.println("Previous Clear Bit of bs1" + bs1.previousClearBit(0)); System.out.println("Previous Clear Bit of bs2" + bs2.previousClearBit(5)); System.out.println("Previous Clear Bit of bs3" + bs3.previousClearBit(3)); } }
bs1 : {0, 2, 4} bs2 : {1, 2, 3, 4, 5, 6, 12} bs3 : {} Previous Clear Bit of bs1-1 Previous Clear Bit of bs20 Previous Clear Bit of bs33
Programa 2: Para mostrar IndexOutOfBoundException:
// Java program illustrating Bitset // previousClearBit() 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.previousClearBit(-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 < -1: -2