我正在尝试获取随机数列表并将其放入队列中,而不重复随机数。
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/