Heim  >  Artikel  >  Java  >  Wie randomisiere ich zwei parallele ArrayLists synchron?

Wie randomisiere ich zwei parallele ArrayLists synchron?

Barbara Streisand
Barbara StreisandOriginal
2024-10-27 18:06:02443Durchsuche

How to Randomize Two Parallel ArrayLists Synchronously?

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!

Stellungnahme:
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