import java.util.ArrayList; import java.util.List; public class PowersetCombination { // Method to generate the powerset of a given set public static List> generatePowerset(List set) { List> powerset = new ArrayList<>(); // Start with the empty subset powerset.add(new ArrayList<>()); // Iterate over each element in the original set for (T element : set) { // Temporary list to store new subsets generated in this iteration List> newSubsets = new ArrayList<>(); // For each existing subset, create a new subset that includes the current element for (List subset : powerset) { List newSubset = new ArrayList<>(subset); newSubset.add(element); newSubsets.add(newSubset); } // Add the newly created subsets to the powerset powerset.addAll(newSubsets); } return powerset; } public static void main(String[] args) { List set = List.of(1, 2, 3); List> powerset = generatePowerset(set); System.out.println("Powerset: " + powerset); } }