Heim >Java >javaLernprogramm >Wie randomisiere ich zwei parallele ArrayLists synchron?
Zwei parallele Array-Listen synchron randomisieren
Bei der Programmierung ist es oft notwendig, mehrere Listen zu verwalten, die einander entsprechen. Beispielsweise können eine Liste von Dateinamen und eine entsprechende Liste von Bildern miteinander verbunden sein, sodass der erste Dateiname dem ersten Bild entspricht und so weiter.
Es stellt sich die Frage: Wie können wir die Reihenfolge dieser Parallelen zufällig festlegen? Listen so auflisten, dass ihre Elemente ausgerichtet bleiben? Mit anderen Worten: Wenn wir die Dateinamen neu anordnen, möchten wir, dass die entsprechenden Bilder auf genau die gleiche Weise neu angeordnet werden.
Die Lösung besteht darin, das Dienstprogramm Collections.shuffle() zu verwenden. Um jedoch eine synchrone Randomisierung sicherzustellen, müssen wir zwei Zufallsobjekte verwenden, die mit demselben Startwert initialisiert wurden:
<code class="java">long seed = System.nanoTime(); Collections.shuffle(fileList, new Random(seed)); Collections.shuffle(imgList, new Random(seed));</code>
Durch die Verwendung von zwei Zufallsobjekten mit demselben Startwert garantieren wir, dass beide Listen auf identische Weise gemischt werden . Dieser Ansatz synchronisiert effektiv die Randomisierung der parallelen Sammlungen, sodass sie ihre entsprechenden Elemente beibehalten.
Das obige ist der detaillierte Inhalt vonWie randomisiere ich zwei parallele ArrayLists synchron?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!