Rumah > Java > javaTutorial > Bagaimana untuk Menjana Nombor Rawak Unik di Jawa?

Bagaimana untuk Menjana Nombor Rawak Unik di Jawa?

Mary-Kate Olsen
Lepaskan: 2024-11-09 00:40:02
asal
385 orang telah melayarinya

How to Generate Unique Random Numbers in Java?

Menjana Nombor Rawak Unik dalam Java

Di Java, menjana nombor rawak tanpa ulangan boleh dicapai melalui pelbagai kaedah. Satu pendekatan yang biasa digunakan melibatkan memanfaatkan set cincang untuk memastikan keunikan.

Penyelesaian Optimum

Untuk mencipta set nombor rawak tidak berulang dalam Java, anda boleh menggunakan pendekatan berikut:

import java.util.HashSet;
import java.util.Random;

public class UniqueRandomNumbers {

    public static void main(String[] args) {
        int[] nums = new int[10000];

        // Create a hash set to store unique numbers
        HashSet<Integer> uniqueNumbers = new HashSet<>();

        Random randomGenerator = new Random();

        // Generate random numbers until the set contains 10,000 unique values
        while (uniqueNumbers.size() < nums.length) {
            int randomNumber = randomGenerator.nextInt(10000);

            // Add the random number to the set if it's not already present
            if (!uniqueNumbers.contains(randomNumber)) {
                uniqueNumbers.add(randomNumber);
            }
        }

        // Convert the set into an array
        int[] nonRepeatingNumbers = new int[uniqueNumbers.size()];
        int index = 0;
        for (int number : uniqueNumbers) {
            nonRepeatingNumbers[index] = number;
            index++;
        }

        System.out.println("10,000 unique random numbers: " + Arrays.toString(nonRepeatingNumbers));
    }
}
Salin selepas log masuk

Dalam penyelesaian yang dioptimumkan ini:

  1. Sebuah set cincang uniqueNumbers dimulakan untuk menyimpan nilai unik.
  2. Penjana nombor rawak randomGenerator dicipta .
  3. Nombor rawak dijana dalam satu gelung sehingga set mencapai saiz yang dikehendaki.
  4. Sebelum menambah nombor rawak pada set, kehadirannya disemak untuk memastikan keunikan.
  5. Setelah set mengandungi bilangan nilai unik yang dikehendaki, ia ditukar kepada tatasusunan bukanRepeatingNumbers.

Pendekatan ini menjamin bahawa semua nombor yang dijana adalah unik, menghapuskan kemungkinan pendua.

Atas ialah kandungan terperinci Bagaimana untuk Menjana Nombor Rawak Unik di Jawa?. 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