java - java中的随机唯一数

标签 java random queue

我正在尝试获取随机数列表并将其放入队列中,而不重复随机数。

        int number = 40;

        for (int j = 0; j<number; j++)
        {
            int pick = random.nextInt(number);
            myQueue.add(Integer.toString(pick));
        }
        System.out.println("the queue size: "+myQueue.size());
        Iterator it = myQueue.iterator();
        while(it.hasNext()){
                String iteratorValue = (String)it.next();
                System.out.println("queue next value: "+iteratorValue);
        }

通过上面的代码,我得到了一些重复的随机数

有人知道怎么做吗?

最佳答案

这个怎么样:

List<String> list = new ArrayList<String>(number);

for (int i = 0; i < number; i++)
    list.add(Integer.toString(i));

Collections.shuffle(list);

myQueue.addAll(list);

在某个范围内“添加唯一随机数”相当于将范围内的所有数字相加,然后将结果打乱。

关于java - java中的随机唯一数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14175029/

相关文章:

java - java中的链表队列不适用于线程

java - 算法中超过时间限制错误

java - 从Java中的一堆类中随机选择

java - 生成非常大的 Java 代码

java - 随机数之和

c++ - 一个随机数生成器,可以在<一秒内得到不同的数字

linux - qsub命令如何避免使用特定机器

java - 为泛型父类(super class)型的类型参数创建 TypeToken

jquery - Tumblr API jQuery 随机图像

command - 具有嵌套闭包、命令和依赖项的队列管理器