问题描述:[color=#FF00FF]想从1--100之间随机不重复的20个数,赋给a[ ]数组,如何实现?
Random是否有直接实现的函数?
还是要通过这样的思路解决:随机1个数,然后与现有的a[ ]逐个比较,如未有重复则放入a[ ],如重复则再随机——如此循环···如果要这样的话,不是多出不少开销吗? [/color]
Random是否有直接实现的函数?
还是要通过这样的思路解决:随机1个数,然后与现有的a[ ]逐个比较,如未有重复则放入a[ ],如重复则再随机——如此循环···如果要这样的话,不是多出不少开销吗? [/color]
ser.add(你得到的随机数);
不比较里面的元素. 怎么能够知道是否相同.!
所以你可以从匹配的算法上面进行优化吧.
if(set.size()==20){
return;
} int r = rd.nextInt(99)+1;
set.add(r);
}