私は 4 つの配列を持っており、それぞれに 3 つの要素 (ただし、それ以上になることもあります) があります。4 x aa.length*bb.length*cc.length*dd.length 配列に、各要素の可能なすべての組み合わせを入力しようとしています。ネストされた for ループでこれを実行しようとしていますが、ロジックに問題があります。これを行う最も効率的な方法が何であるかはわかりません。これは、カフェインに飢えた私の脳がこれまでに思いついたものです.
String[] AA={DDDD, HHHH, ZZZZ};
String[] BB={DDDD, HHHH, ZZZZ};
String[] CC={DDDD, HHHH, ZZZZ};
String[] DD={DDDD, HHHH, ZZZZ};
String[][] 2Darray = new String[4][AA.length*BB.length*CC.length*DD.length];
for (int i = 0; i <AA.length; i++){
for (int j = 0; j < BB.length; j++){
for (int k = 0; k < CC.length; k++){
for (int L = 0; L < DD.length; L++){
2Darray[3][i+j+k+L] = DD[L];
2Darray[2][i+j+k] = CC[k];
2Darray[1][i+j] = BB[j];
2Darray[0][i] = AA[i];
}
}
}
}
これの印刷出力は次のようになります。
DDDD DDDD DDDD DDDD
HHHH DDDD DDDD DDDD
ZZZZ DDDD DDDD DDDD
null HHHH DDDD DDDD
null ZZZZ DDDD DDDD
null null HHHH DDDD
null null ZZZZ DDDD
null null null HHHH
null null null ZZZZ
null null null null
null null null null
null null null null
...etc
これにアプローチするより良い方法は何ですか?