Heim > Java > javaLernprogramm > Hauptteil

Wie generiert man in Java alle möglichen eindeutigen Kombinationen aus mehreren Listen?

Patricia Arquette
Freigeben: 2024-10-26 19:57:02
Original
307 Leute haben es durchsucht

How to Generate All Possible Unique Combinations from Multiple Lists in Java?

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]
Nach dem Login kopieren

Die Funktion sollte 12 Kombinationen ergeben:

[AW, AX, AY, AZ, BW, BX, BY, BZ, CW, CX, CY, CZ]
Nach dem Login kopieren

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!