Métodos de clase Java.util.BitSet en Java con ejemplos | conjunto 2

Methods discussed in this post:
                       BitSet class methods.
               /      /     |      |       \       \
           set()  xor()  clone() clear()  length()  cardinality()

Recomendamos encarecidamente consultar el conjunto 1 a continuación como requisito previo para esto.
clase BitSet en Java | Serie 1

  1. set() : el método java.util.BitSet.set() es un establece el bit en el índice especificado al valor especificado.
    Sintaxis:
    public void set(int bitpos)
    public void set(int bitpos, boolean val)
    Parameters:
    bitpos : a bit index
    val : a boolean value to set
    Return: Nothing
    Throws: IndexOutOfBoundsException - if the specified index is negative
    
  2. clone() : el método java.util.BitSet.clone() clona un BitSet y produce un nuevo BitSet que es igual a él. El clon del conjunto de bits es otro conjunto de bits que tiene exactamente los mismos bits establecidos en verdadero que este conjunto de bits.
    Sintaxis:
    public Object clone()
    Return: a clone of this bit set
    
  3. cardinality : el método java.util.BitSet.cardinality() se usa para encontrar el no. de elementos en Bitset.
    Sintaxis:
    public int cardinality()
    Return: the number of bits set to true in this BitSet.
    
  4. // Java program explaining BitSet class methods
    // set(), clone(), cardinality()
    import java.util.*;
    public class NewClasss
    {
        public static void main(String[] args)
        {
            BitSet bs1 = new BitSet();
            BitSet bs2 = new BitSet(8);
            BitSet bs3 = new BitSet();
      
            // assign values to bs1 using set()
            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);
      
            // Here we are using .clone() method to make
            // bs3 as bs1
            bs3 = (BitSet) bs1.clone();
      
            // Printing the 3 Bitsets
            System.out.println("bs1 : " + bs1);
            System.out.println("bs2 : " + bs2);
            System.out.println("bs3 cloned from bs1 : " + bs3);
      
            // Using .cardinality() method to print the no. of
            // elements of Bitset
            System.out.println("Cardinality of bs1 : " +
                                           bs1.cardinality());
            System.out.println("Cardinality of bs2 : " +
                                           bs2.cardinality());
        }
    }

    Producción:

    bs1 : {0, 1, 2, 4}
    bs2 : {4, 5, 6}
    bs3 cloned from bs1 : {0, 1, 2, 4}
    Cardinality of bs1 : 4
    Cardinality of bs2 : 3
    
  5. clear() : el método java.util.BitSet.clear() se utiliza para borrar los elementos, es decir, establecer todos los elementos de Bitset en falso.
    Sintaxis:
    public void clear(int frompos,int topos)
    public void clear(int bitIndex)
    public void clear()
    Parameters:
    frompos - index of the first bit to be cleared
    topos - index after the last bit to be cleared
    bitIndex - the index of the bit to be cleared
    Throws:
    IndexOutOfBoundsException - if pos value is negative or frompos is larger than topos
    
  6. xor() : el método java.util.BitSet.xor() realiza la operación lógica Xor en los conjuntos de bits.
    Este conjunto de bits se modifica para que un bit tenga el valor verdadero si y solo si:
    • El bit inicialmente tiene el valor verdadero y el bit correspondiente en el argumento tiene el valor falso.
    • El bit inicialmente tiene el valor falso y el bit correspondiente en el argumento tiene el valor verdadero.

    Sintaxis:

    public void xor(BitSet set)
    Parameters:
    set - the BitSet with which we need to perform operation
    
  7. length() : el retorno del método java.util.BitSet.length() devuelve el tamaño lógico del conjunto de bits.
    El índice del bit establecido más alto en el conjunto de bits más uno. Devuelve cero si el conjunto de bits no contiene bits establecidos.
    Sintaxis:
    public int length()
    Returns:
    the logical size of this BitSet
    
  8. // Java program explaining BitSet class methods
    //  xor(), length(), clear() methods
    import java.util.*;
    public class NewClass
    {
        public static void main(String[] args)
        {
            BitSet bs1 = new BitSet();
            BitSet bs2 = new BitSet();
      
            // assign values to bs1 using set()
            bs1.set(7);
            bs1.set(1);
            bs1.set(2);
            bs1.set(4);
            bs1.set(3);
            bs1.set(6);
      
            // assign values to bs2
            bs2.set(4);
            bs2.set(6);
            bs2.set(3);
            bs2.set(9);
            bs2.set(2);
      
            // Printing the Bitsets
            System.out.println("bs1 : " + bs1);
            System.out.println("bs2 : " + bs2);
      
            // use of length() method
            System.out.println("use of length() : " + bs1.length());
      
            // use of xor() to perform logical Xor operation
            bs1.xor(bs2);
            System.out.println("Use of xor() : " + bs1);
            bs2.xor(bs1);
            System.out.println("Use of xor() : " + bs2);
      
            // clear from index 2 to index 4 in bs1
            bs2.clear(1, 2);
            System.out.println("bs2 after clear method : " + bs2);
      
            // clear complete Bitset
            bs1.clear();
            System.out.println("bs1 after clear method : " + bs1);
        }
    }

    Producción:

    bs1 : {1, 2, 3, 4, 6, 7}
    bs2 : {2, 3, 4, 6, 9}
    use of length() : 8
    Use of xor() : {1, 7, 9}
    Use of xor() : {1, 2, 3, 4, 6, 7}
    bs2 after clear method : {2, 3, 4, 6, 7}
    bs1 after clear method : {}
    


    Métodos de clase BitSet en Java con ejemplos | conjunto 3

    Referencias:
    https://docs.oracle.com/javase/7/docs/api/java/util/BitSet.html

    Este artículo es una contribución de Mohit Gupta . Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo usando contribuya.geeksforgeeks.org o envíe su artículo por correo a contribuya@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.

    Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *