Heim  >  Artikel  >  Java  >  Wie randomisiert man mehrere ArrayLists und behält dabei die Konsistenz der Reihenfolge bei?

Wie randomisiert man mehrere ArrayLists und behält dabei die Konsistenz der Reihenfolge bei?

Barbara Streisand
Barbara StreisandOriginal
2024-10-27 07:12:02528Durchsuche

How to Randomize Multiple ArrayLists While Maintaining Ordering Consistency?

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:

  • Wir erhalten einen gemeinsamen Zufallsstartwert mit System.nanoTime().
  • Wir verwenden Collections.shuffle() mit dem gemeinsamen Startwert, um die Dateiliste zufällig zu sortieren.
  • Wir wiederholen den Randomisierungsprozess für die imgList mit demselben Startwert.

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!

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