import java.util.ArrayList;
public class AllSubSet {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
ArrayList v = new ArrayList();
v.add(1);
v.add(2);
v.add(3);
ArrayList> subsets = getSubsets(v, 0);
System.out.println(subsets);
}
static ArrayList> getSubsets(ArrayList set, int index)
{
ArrayList> allsubsets;
if (set.size() == index) {
allsubsets = new ArrayList>();
allsubsets.add(new ArrayList()); // Empty set
} else {
allsubsets = getSubsets(set, index + 1);
int item = set.get(index);
ArrayList> moresubsets =
new ArrayList>();
for (ArrayList subset : allsubsets) {
ArrayList newsubset = new ArrayList();
newsubset.addAll(subset); //
newsubset.add(item);
moresubsets.add(newsubset);
}
allsubsets.addAll(moresubsets);
}
return allsubsets;
}
}