Establece la función powerSet() | guayaba | Java

Sets.powerSet() de Guava devuelve el conjunto de todos los subconjuntos posibles del conjunto.

Sintaxis:

public static <E> 
  Set<Set<E>> 
    powerSet(Set<E> set)

Aquí, conjunto es el conjunto de elementos a partir de los cuales se construye un conjunto potencia.

Valor devuelto: este método devuelve el conjunto potencia, como un conjunto inmutable de conjuntos inmutables.

Excepciones:

  • IllegalArgumentException: si el conjunto tiene más de 30 elementos únicos, porque esto hace que el tamaño del conjunto de potencia exceda el rango int.
  • NullPointerException: si el conjunto es o contiene un valor nulo.

Nota: El conjunto potencia del conjunto vacío no es el conjunto vacío, sino un conjunto de un elemento que contiene el conjunto vacío.

Ejemplo 1:

// Java code to return the set of
// all possible subsets of a set
  
import com.google.common.collect.Sets;
import java.util.Set;
  
class GFG {
  
    // Driver's code
    public static void main(String[] args)
    {
  
        // Creating a set
        Set<Integer>
            set = Sets.newHashSet(1, 2, 3);
  
        // powerSet to store all subsets of a set
        Set<Set<Integer> >
            powerSet = Sets.powerSet(set);
  
        // Displaying all possible subsets of a set
        for (Set<Integer> s : powerSet)
            System.out.println(s);
    }
}
Producción:

[]
[1]
[2]
[1, 2]
[3]
[1, 3]
[2, 3]
[1, 2, 3]

Ejemplo 2:

// Java code to return the set of
// all possible subsets of a set
  
import com.google.common.collect.Sets;
import java.util.Set;
  
class GFG {
  
    // Driver's code
    public static void main(String[] args)
    {
        // Creating a set
        Set<String>
            set = Sets.newHashSet("G", "F", "g");
  
        // powerSet to store all subsets of a set
        Set<Set<String> >
            powerSet = Sets.powerSet(set);
  
        // Displaying all possible subsets of a set
        for (Set<String> s : powerSet)
            System.out.println(s);
    }
}
Producción:

[]
[F]
[G]
[F, G]
[g]
[F, g]
[G, g]
[F, G, g]

Nota: Si bien el conjunto de potencia de un conjunto con tamaño n es de tamaño 2^n, su uso de memoria es solo O(n) . Cuando se construye el conjunto potencia, el conjunto de entrada simplemente se copia. Solo a medida que se itera el conjunto de potencia se crean los subconjuntos individuales, y estos subconjuntos ocupan solo una pequeña cantidad constante de memoria.

Publicación traducida automáticamente

Artículo escrito por Sahil_Bansall 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 *