求取一个集合中的所有子集
package 算法学习;
import java.util.HashSet;
import java.util.Set;
/**
* Page Description:
* User: Yelihu
* Date: 2019-03-02
* Time: 下午 3:02
* Function:
*/
public class 增量迭代 {
private static int[] array = {1,2,0,4};
private static Set<Set<Integer>> handler(int[] array,int n){
return getSubSetCore(array,n,n-1);
}
private static Set<Set<Integer>> getSubSetCore(int[] array,int n,int cur){
//创建一个集合存放原来集合+加上增量集合
Set<Set<Integer>> newSet = new HashSet<>();
if(cur==0){
Set<Integer> nullSet = new HashSet<>();
Set<Integer> firstSet = new HashSet<>();
firstSet.add(array[0]);
newSet.add(firstSet);
newSet.add(nullSet);
return newSet;
}
//获取到原来集合