Java生成非重复随机数

Java生成非重复随机数

我想在Java中创建一组没有重复的随机数。

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

这是我到目前为止:

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

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


杨魅力
浏览 511回答 3
3回答

茅侃侃

Integer[]&nbsp;arr&nbsp;=&nbsp;{...};Collections.shuffle(Arrays.asList(arr));例如:public&nbsp;static&nbsp;void&nbsp;main(String[]&nbsp;args)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;Integer[]&nbsp;arr&nbsp;=&nbsp;new&nbsp;Integer[1000]; &nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(int&nbsp;i&nbsp;=&nbsp;0;&nbsp;i&nbsp;<&nbsp;arr.length;&nbsp;i++)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;arr[i]&nbsp;=&nbsp;i; &nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;Collections.shuffle(Arrays.asList(arr)); &nbsp;&nbsp;&nbsp;&nbsp;System.out.println(Arrays.toString(arr));}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java