Ich möchte Permutationen von mehreren Listen unterschiedlicher Typen erstellen. Lassen Sie mich ein Beispiel geben, dass es schwierig wäre, es auf Englisch zu erklären.Generation Permutationen von mehreren Listen unterschiedlicher Typen
Class Rule {
private List<Long> ids;
private List<String> names;
private List<ABCEnum> enums;
}
möchte ich Permutationen in Form von Ausgabeobjekte erzeugen, die wie folgt aussieht:
Class Output {
Long id;
String name;
ABCEnum enum
}
Test-Beispiel-
Input--
Rule:
ids -- 1,2
names -- abc,bcd
enums -- NEW,OLD
generiert Ausgangsobjekte: (gesamt - 2 * 2 * 2 = 8 Objekte)
1,abc,NEW
1,bcd,NEW
1,abc,OLD
1,bcd,OLD
2,abc,NEW
2,bcd,NEW
2,abc,OLD
2,bcd,OLD
Dinge, die ich versucht habe: versucht, Permutationen einer Zeichenfolge Beispiel zu meinem Problem ohne Glück zuordnen. Ich kann für for-Schleifen gehen, aber das ist keine gute Lösung.
Bitte lassen Sie mich wissen, wenn weitere Informationen benötigt werden.
Jede Hilfe bei der Lösung dieses Problems wird sehr geschätzt.
Dank
Wissen Sie, wie viele Einträge die Regel hat oder dass ändert sich? – itdoesntwork
Im Moment habe ich fünf Felder in der Regel (im obigen Beispiel 3), aber das kann in Zukunft noch zunehmen. Soweit die jeweilige Liste reicht, könnte es eine unbegrenzte Anzahl von Einträgen in einer Liste geben. – boxfish
Geben Sie "Kartesisches Produkt" in das Suchfeld ein. Sie erhalten Dutzende von Ergebnissen wie diese: http://stackoverflow.com/questions/1719594/iterative-cartesian-product-in-java – m69