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); } }
[] [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); } }
[] [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