See More

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; } }