java随机选取不重复数,java生成不重复的随机整数
如何解决写爬虫IP受阻的问题?立即使用。
java中产生随机复数的方法:
根据min和max,生成n个不重复的随机数。(注意:范围[最小,最大],n=(最大-最小1))
想法:
0)将从最小到最大的所有可能的数字放入候选列表中;
1)、随机生成索引index(0=index=(list . size()-1));
2)、根据index,list.get(index)从列表中取出一个数,去掉这个元素;
代码如下:
导入Java . util . ArrayList;
导入Java . util . list;
导入Java . util . random;
公共类MyRandom {
/**
*根据min和max,在[min,max]范围内随机生成一个随机数,包括min和max。
* @param min
* @param max
* @return int
*/
public int getRandom(int min,int max){
Random Random=new Random();
return random . nextint(max-min 1)min;
}
/**
*根据min和max,随机生成count个无重复的随机数组。
* @param min
* @param max
* @param计数
* @return int[]
*/
public int[] getRandoms(int min,int max,int count){
int[]randoms=new int[count];
list integer list random=new ArrayListInteger();
if(计数(最大-最小1 )){
返回null
}
//将所有可能的数字放入候选列表中
for(int I=min;i=maxi ){
list random . add(I);
}
//从候选列表中取出放入数组,选中的将从这个列表中移除。
for(int I=0;我数;i ){
int index=getRandom(0,list random . size()-1);
randoms[I]=list random . get(index);
list random . remove(index);
}
返回随机数;
}
}Java Math.random()方法用于返回一个随机数,范围为0.0=Math.random 1.0。
更多java知识,请关注java基础课程。这就是java中生成随机复数的方法的细节。请多关注我们的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。