Rumah  >  Artikel  >  Java  >  Bagaimana untuk Rawak Berbilang ArrayList Sambil Mengekalkan Ketekalan Pesanan?

Bagaimana untuk Rawak Berbilang ArrayList Sambil Mengekalkan Ketekalan Pesanan?

Barbara Streisand
Barbara Streisandasal
2024-10-27 07:12:02598semak imbas

How to Randomize Multiple ArrayLists While Maintaining Ordering Consistency?

Mengekalkan Pesanan Merentasi Berbilang ArrayLists semasa Rawak

Merawakkan satu ArrayList ialah tugas yang mudah, tetapi cabaran timbul apabila berbilang ArrayLists, berkaitan dengan satu sama lain, perlu rawak dengan cara yang konsisten. Untuk mencapai matlamat ini, kami boleh memanfaatkan kuasa Collections.shuffle() dan benih rawak yang dikongsi.

Coretan kod berikut menunjukkan cara untuk mencapai hasil yang diingini:

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

Dalam ini kod:

  • Kami memperoleh benih rawak kongsi menggunakan System.nanoTime().
  • Kami menggunakan Collections.shuffle() dengan benih kongsi untuk merawak Senarai fail.
  • Kami mengulangi proses rawak untuk imgList menggunakan benih yang sama.

Dengan menggunakan benih rawak yang dikongsi, kedua-dua ArrayLists dirawak dengan cara yang sama, memastikan bahawa hubungan antara elemen yang sepadan dikekalkan .

Atas ialah kandungan terperinci Bagaimana untuk Rawak Berbilang ArrayList Sambil Mengekalkan Ketekalan Pesanan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn