首页 >Java >java教程 >如何在Java中生成唯一的随机数?

如何在Java中生成唯一的随机数?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-11-09 00:40:02385浏览

How to Generate Unique Random Numbers in Java?

在Java中生成唯一的随机数

在Java中,生成不重复的随机数可以通过多种方法实现。一种常用的方法是利用哈希集来确保唯一性。

最佳解决方案

要在 Java 中创建一组不重复的随机数,您可以使用以下方法:

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

在此优化解决方案中:

  1. 初始化哈希集 uniqueNumbers 以存储唯一值。
  2. 创建随机数生成器 randomGenerator .
  3. 在循环内生成随机数,直到集合达到所需的大小。
  4. 在将随机数添加到集合之前,会检查其是否存在以确保唯一性。
  5. 一旦集合包含所需数量的唯一值,它就会转换为数组 nonRepeatingNumbers。

这种方法保证所有生成的数字都是唯一的,消除了重复的可能性。

以上是如何在Java中生成唯一的随机数?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn