Rumah > Java > javaTutorial > teks badan

Bagaimana untuk Rawak Berbilang ArrayList Sambil Mengekalkan Ketekalan Pesanan?

Barbara Streisand
Lepaskan: 2024-10-27 07:12:02
asal
531 orang telah melayarinya

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>
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!