Maison > Java > javaDidacticiel > le corps du texte

Comment générer des nombres aléatoires uniques en Java ?

Mary-Kate Olsen
Libérer: 2024-11-09 00:40:02
original
329 Les gens l'ont consulté

How to Generate Unique Random Numbers in Java?

Génération de nombres aléatoires uniques en Java

En Java, la génération de nombres aléatoires sans répétitions peut être réalisée par diverses méthodes. Une approche couramment utilisée consiste à exploiter un ensemble de hachage pour garantir l'unicité.

Solution optimale

Pour créer un ensemble de nombres aléatoires non répétitifs en Java, vous pouvez utiliser le approche suivante :

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));
    }
}
Copier après la connexion

Dans cette solution optimisée :

  1. Un ensemble de hachage uniqueNumbers est initialisé pour stocker des valeurs uniques.
  2. Un générateur de nombres aléatoires randomGenerator est créé.
  3. Des nombres aléatoires sont générés dans une boucle jusqu'à ce que l'ensemble atteigne la taille souhaitée.
  4. Avant en ajoutant un nombre aléatoire à l'ensemble, sa présence est vérifiée pour garantir l'unicité.
  5. Une fois que l'ensemble contient le nombre souhaité de valeurs uniques, il est converti dans un tableau nonRepeatingNumbers.

Cette approche garantit que tous les nombres générés sont uniques, éliminant ainsi la possibilité de doublons.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!