需要在java中生成超集

时间:2014-02-07 05:25:44

标签: java set

试图找出一种使用java生成超集的方法 需要简单的回答

正在寻找的是

输入:ab

输出:{} {a} {b} {ab}

我如何解决这个问题?

提前致谢

2 个答案:

答案 0 :(得分:0)

int allMasks = (1 << N);
for (int i = 1; i < allMasks; i++)
{
    for (int j = 0; j < N; j++)
    if ((i & (1 << j)) > 0)           //The j-th element is used
        System.out.print((j + 1) + " ");

    System.out.println();
}

答案 1 :(得分:0)

由于这是目前谷歌java superset的第二个结果,我将回答该问题。

Set.addAll会这样做。

示例:

// A couple of sets
Set<Integer> set1 = new TreeSet<>(Arrays.asList(1, 2));
Set<Integer> set2 = new TreeSet<>(Arrays.asList(2, 3));

// Generate the superset    
Set<Integer> superset = new TreeSet<>();
superset.addAll(set1); // {1, 2}
superset.addAll(set2); // {1, 2, 3}