Heim >Java >javaLernprogramm >Wie randomisiert man mehrere ArrayLists und behält dabei die Konsistenz der Reihenfolge bei?
Aufrechterhaltung der Reihenfolge über mehrere Array-Listen hinweg während der Randomisierung
Das Randomisieren einer einzelnen Array-Liste ist eine einfache Aufgabe, aber die Herausforderung entsteht, wenn mehrere Array-Listen miteinander verknüpft sind einander müssen in konsistenter Weise randomisiert werden. Um dies zu erreichen, können wir die Leistungsfähigkeit von Collections.shuffle() und einen gemeinsamen Zufallsstartwert nutzen.
Der folgende Codeausschnitt zeigt, wie man das gewünschte Ergebnis erzielt:
<code class="java">import java.util.ArrayList; import java.util.Collections; public class ArrayListRandomization { public static void main(String[] args) { // Initialize the ArrayLists String[] file = {"H1.txt", "H2.txt", "H3.txt", "M4.txt", "M5.txt", "M6.txt"}; ArrayList<String> fileList = new ArrayList<>(Arrays.asList(file)); String[] img = {"e1.jpg", "e2.jpg", "e3.jpg", "e4.jpg", "e5.jpg", "e6.jpg"}; ArrayList<String> imgList = new ArrayList<>(Arrays.asList(img)); // Generate a shared random seed long seed = System.nanoTime(); // Randomize the file list Collections.shuffle(fileList, new Random(seed)); // Randomize the image list using the same seed Collections.shuffle(imgList, new Random(seed)); // Print the randomized ArrayLists System.out.println("Randomized fileList:"); for (String s : fileList) { System.out.println(s); } System.out.println("Randomized imgList:"); for (String s : imgList) { System.out.println(s); } } }</code>
Hier Code:
Durch die Verwendung eines gemeinsamen Zufallsstartwerts werden beide ArrayLists auf die gleiche Weise randomisiert, wodurch sichergestellt wird, dass die Beziehung zwischen den entsprechenden Elementen erhalten bleibt .
Das obige ist der detaillierte Inhalt vonWie randomisiert man mehrere ArrayLists und behält dabei die Konsistenz der Reihenfolge bei?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!