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

Bagaimana untuk Menjana Nombor Rawak Unik di Jawa?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-09 00:40:02360semak imbas

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));
    }
}

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!

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