/** * @author lautturi.com * Java example: get all the subsets of a set in java */ import java.util.*; public class Lautturi { private static List<List<Integer>> generateSubsets(int[] set) { List<List<Integer>> subsets = new ArrayList<>(); int n = set.length; for (int b = 0; b < (1 << n); b++) { List<Integer> subset = new ArrayList<Integer>(); for (int i = 0; i < n; i++) { if ((b & (1 << i)) != 0) { subset.add(set[i]); } } subsets.add(subset); } return subsets; } public static void main(String[] args) { int[] arr = { 3,7,9 }; List<List<Integer>> subsets = generateSubsets(arr); System.out.println(subsets); } }
output:
[[], [3], [7], [3, 7], [9], [3, 9], [7, 9], [3, 7, 9]]