Java 8 - 生成列表的幂集

问题描述

我编写了以下方法来使用 Java 8 地图函数生成幂集

public static List<List<Integer>> powerSet(List<Integer> arr){
        List<List<Integer>> powerSet = new ArrayList<>();
        powerSet.add(new ArrayList<>());
        if(arr.size <= 0)
            return powerSet;
        for(Integer elem:arr) {
            powerSet.stream().map(p -> addSubset(powerSet,p,elem)).collect(Collectors.toList());
        }
        return powerSet;
    }

public static List<List<Integer>> addSubset(List<List<Integer>> powerSet,List<Integer> p,int elem){
    List<Integer> newSubset = p;
    newSubset.add(elem);
    powerSet.add(newSubset);
    return powerSet;
}

我总是收到并发修改异常。如何修改此代码以生成列表的幂集?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)