我有几个小组,每个小组都有多个属性。对于例如G1(p11,p12,p13 ......)G2(p21,p22,p23,...)等。
我想创建所有可能的属性组合,如(p11,p21),(p12,p21),(p13,p21)等。
如何在Java中执行此操作?有人能指出我的算法吗?
它是否等同于找到组(集)的笛卡尔积(
)答案 0 :(得分:0)
尝试在循环中循环
for (String x : G1) {
for (String y : g2) {
System.out.println (String.format ("%s,%s", x, y));
}
}
答案 1 :(得分:0)
使用递归
如果你的集是s [1],s [2] ... s [n] 类似的东西:
void rec(int p) {
if (p > n )
return;
for ( x in s[p] ) {
//print or add x to current combination
rec(p+1);
}
}
然后致电
rec(1);