Heim  >  Artikel  >  Java  >  Wie randomisiert man abhängige Array-Listen unter Beibehaltung der Korrespondenz?

Wie randomisiert man abhängige Array-Listen unter Beibehaltung der Korrespondenz?

DDD
DDDOriginal
2024-10-27 11:14:30783Durchsuche

How to Randomize Dependent ArrayLists While Maintaining Correspondence?

Automatisierung der Randomisierung abhängiger Listen

Beim Umgang mit mehreren ArrayLists, die miteinander in Beziehung stehen, kann es nützlich sein, sie in solchen randomisieren zu können eine Art und Weise, wie sie ihre Korrespondenz aufrechterhalten. Im bereitgestellten Fall verfügen beispielsweise die Array-Listen „filelist“ und „imgList“ über entsprechende Elemente wie „H1.txt“ und „e1.jpg“.

Problemstellung

Angenommen zwei ArrayLists, filelist und imgList, wobei jedes Element in filelist einem Element in imgList entspricht, wie können wir die Reihenfolge der Elemente in imgList automatisch randomisieren, um sie an die Randomisierung von filelist anzupassen?

Lösung

Um sicherzustellen, dass die Randomisierung von imgList die Randomisierung von filelist widerspiegelt, müssen wir für jede Liste separate Random-Objekte verwenden, diese aber mit demselben Startwert initialisieren. Dies garantiert, dass beide Listen auf die gleiche Weise gemischt werden.

<code class="java">long seed = System.nanoTime();
Collections.shuffle(fileList, new Random(seed));
Collections.shuffle(imgList, new Random(seed));</code>

Erklärung

Die System.nanoTime()-Methode stellt einen eindeutigen Startwert bereit, der darauf basiert auf die aktuelle Zeit in Nanosekunden. Durch die Verwendung dieses Werts zur Initialisierung beider Random-Objekte stellen wir sicher, dass sie dieselbe Folge von Zufallszahlen generieren. Dies bedeutet, dass die Reihenfolge der Elemente in Dateiliste und imgList nach dem Mischvorgang identisch ist.

Mit diesem Ansatz können Sie die gewünschte zufällige Entsprechung zwischen den beiden ArrayLists erreichen, denen die Elemente in imgList folgen die gleiche zufällige Reihenfolge wie die Elemente in der Dateiliste.

Das obige ist der detaillierte Inhalt vonWie randomisiert man abhängige Array-Listen unter Beibehaltung der Korrespondenz?. 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