print all the subsets of a set in java

print all the subsets of a set in java
r‮‬efer to:lautturi.com
/**
 * @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]]
Created Time:2017-09-11 17:02:39  Author:lautturi