Heim  >  Artikel  >  Java  >  Wie generiert man in Java eindeutige Zufallszahlen?

Wie generiert man in Java eindeutige Zufallszahlen?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-09 00:40:02356Durchsuche

How to Generate Unique Random Numbers in Java?

Eindeutige Zufallszahlen in Java generieren

In Java kann die Generierung von Zufallszahlen ohne Wiederholungen durch verschiedene Methoden erreicht werden. Ein häufig verwendeter Ansatz besteht darin, einen Hash-Satz zu nutzen, um die Eindeutigkeit sicherzustellen.

Optimale Lösung

Um einen Satz sich nicht wiederholender Zufallszahlen in Java zu erstellen, können Sie die verwenden Folgender Ansatz:

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

In dieser optimierten Lösung:

  1. Ein Hash-Set uniqueNumbers wird initialisiert, um eindeutige Werte zu speichern.
  2. Ein Zufallszahlengenerator randomGenerator wird erstellt.
  3. Zufallszahlen werden innerhalb einer Schleife generiert, bis die Menge die gewünschte Größe erreicht.
  4. Vorher Durch Hinzufügen einer Zufallszahl zum Satz wird deren Vorhandensein überprüft, um die Eindeutigkeit sicherzustellen.
  5. Sobald der Satz die gewünschte Anzahl eindeutiger Werte enthält, ist dies der Fall in ein Array nonRepeatingNumbers konvertiert.

Dieser Ansatz garantiert, dass alle generierten Zahlen eindeutig sind, wodurch die Möglichkeit von Duplikaten ausgeschlossen wird.

Das obige ist der detaillierte Inhalt vonWie generiert man in Java eindeutige Zufallszahlen?. 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