有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

如何在java中找到数组的所有子集?

我需要使用java查找数组的所有子集。例如,如果我们有一个集合{1,2,3},那么我应该 {},{1},{2},{3},{1,2},{2,3},{1.3},{1,2,3}


共 (1) 个答案

  1. # 1 楼答案

    您可以这样做,以避免需要递归解决方案

    public static <T> void printCombinations(T[] arr) {
        for(long i = 0, max = 1L << arr.length; i < max; i++) {
            Set<T> ts = new HashSet<>();
            for(int j = 0; j < arr.length; j++) {
                if ((i >> j) != 0)
                    ts.add(list.get(j));
            }
            System.out.println(ts);
        }
    }