import java.util.ArrayList;
import java.util.List;
public class CombinationGenerator {
public static void main(String[] args) {
String[] elements = {"a", "b", "c", "d"};
List<List<String>> combinations = new ArrayList<>();
generateCombinations(elements, combinations, 0, new ArrayList<>());
for (List<String> combination : combinations) {
System.out.println(combination);
}
}
private static void generateCombinations(String[] elements, List<List<String>> result, int start, List<String> current) {
if (current.size() == elements.length) {
result.add(new ArrayList<>(current));
return;
}
for (int i = start; i < elements.length; i++) {
current.add(elements[i]);
generateCombinations(elements, result, i + 1, current);
current.remove(current.size() - 1);
}
}
}
【 在 iStudy 的大作中提到: 】
: a,b,c,d四个对象
: 我要生成a,b,c,d的全组合===C(4,1)+C(4,2)+C(4,3)+C(4,4)
: 结果就是输出 {a,b,c,d, ab,ac,ad,bc,bd,cd,abc,abd,acd,bcd,abcd}
: ...................
--
FROM 183.14.132.*