Heim >Java >javaLernprogramm >Wie generiert man in Java alle möglichen eindeutigen Kombinationen aus mehreren Listen?
Mehrfachlisten-Kombinationsgenerator in Java
Frage:
Gegeben eine variable Anzahl von Listen Mit beliebiger Länge generieren Sie eine einzelne Liste, die alle möglichen eindeutigen Kombinationen von Elementen in allen Eingabelisten enthält. Zum Beispiel gegebene Listen:
X: [A, B, C] Y: [W, X, Y, Z]
Die Funktion sollte 12 Kombinationen ergeben:
[AW, AX, AY, AZ, BW, BX, BY, BZ, CW, CX, CY, CZ]
Antwort:
Dieses Problem erfordert eine rekursiver Ansatz:
<code class="java">void generatePermutations(List<List<Character>> lists, List<String> result, int depth, String current) { if (depth == lists.size()) { result.add(current); return; } for (int i = 0; i < lists.get(depth).size(); i++) { generatePermutations(lists, result, depth + 1, current + lists.get(depth).get(i)); } }</code>
Um diese Funktion zu verwenden:
<code class="java">List<List<Character>> lists = new ArrayList<>(); lists.add(Arrays.asList('A', 'B', 'C')); lists.add(Arrays.asList('W', 'X', 'Y', 'Z')); List<String> result = new ArrayList<>(); generatePermutations(lists, result, 0, "");</code>
Das obige ist der detaillierte Inhalt vonWie generiert man in Java alle möglichen eindeutigen Kombinationen aus mehreren Listen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!