Java生成非重复随机数 [英] Java generating non-repeating random numbers

查看:36
本文介绍了Java生成非重复随机数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想在 Java 中创建一组不重复的随机数.

I want to create a set of random numbers without duplicates in Java.

例如,我有一个数组来存储从 0 到 9999 的 10,000 个随机整数.

For example I have an array to store 10,000 random integers from 0 to 9999.

这是我目前所拥有的:

import java.util.Random;
public class Sort{

    public static void main(String[] args){

        int[] nums = new int[10000];

        Random randomGenerator = new Random();

        for (int i = 0; i < nums.length; ++i){
            nums[i] = randomGenerator.nextInt(10000);
        }
    }
}

但是上面的代码会产生重​​复.如何确保随机数不重复?

But the above code creates duplicates. How can I make sure the random numbers do not repeat?

推荐答案

Integer[] arr = {...};
Collections.shuffle(Arrays.asList(arr));

例如:

public static void main(String[] args) {
    Integer[] arr = new Integer[1000];
    for (int i = 0; i < arr.length; i++) {
        arr[i] = i;
    }
    Collections.shuffle(Arrays.asList(arr));
    System.out.println(Arrays.toString(arr));

}

这篇关于Java生成非重复随机数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆