Guava 的Sets.powerSet()返回集合的所有可能子集的集合。
用法:
public static <E> Set<Set<E>> powerSet(Set<E> set)
这里,set是从中构造幂集的元素集。
返回值:此方法将幂集作为不可变集的不可变集返回。
异常:
- IllegalArgumentException:如果set具有30个以上的唯一元素,因为这将导致幂集大小超出int范围。
- NullPointerException :如果set为null或包含null。
注意:空集的幂集不是空集,而是包含空集的one-element集。
范例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]
范例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]
注意:虽然大小为n的集合的幂集的大小为2^n,但其内存使用量仅为O(n)。构建电源集时,仅复制输入集。仅在功率集被迭代时,才会创建各个子集,并且这些子集本身仅占用少量恒定的内存。
相关用法
- Java Guava Sets intersection()用法及代码示例
- Java Guava Sets difference()用法及代码示例
- Java Guava Sets union()用法及代码示例
- Java Guava Ints contains()用法及代码示例
- Java Guava Ints max()用法及代码示例
- Java Guava Ints min()用法及代码示例
- Java Guava Ints asList()用法及代码示例
- Java Guava BigIntegerMath log10()用法及代码示例
- Java Guava BigIntegerMath log2()用法及代码示例
- Java Guava BigIntegerMath sqrt()用法及代码示例
- Java Guava BigIntegerMath binomial()用法及代码示例
- Java Guava BigIntegerMath ceilingPowerOfTwo()用法及代码示例
- Java Guava BigIntegerMath floorPowerOfTwo()用法及代码示例
- Java Guava BigIntegerMath isPowerOfTwo()用法及代码示例
- Java Guava Ints join()用法及代码示例
注:本文由纯净天空筛选整理自Sahil_Bansall大神的英文原创作品 Sets powerSet() function | Guava | Java。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。