java求集合的子集

给定一个含不一样整数的集合,返回其全部的子集java

import java.util.*;
public class Solution {web

/*
 * @param nums: A set of numbers
 * @return: A list of lists
 */
public List<List<Integer>> subsets(int[] nums) {
    int len = 1 << nums.length;
    List<List<Integer>> lists = new LinkedList<List<Integer>>();
    for (int i = 0; i < len; i++) {
        List<Integer> list = new LinkedList<Integer>();
        int index = i;
        for (int j = 0; j < nums.length; j++) {
            if ((index & 1) == 1) {
                list.add(nums[j]);
            }
            index >>= 1;
        }
        Collections.sort(list);
        lists.add(list);
    }
    return lists;
}

}svg