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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。