需求:定义list集合从0开始,到自定义整数的随机数,要求不重复
实现:定义一个listA集合从0开始,到自定义整数顺序排列,获取一个随机数,并查询在listA的位置,替换相应位置的数为size,并将这个随机数保存到listB
代码:
public static List<Integer> randomIndexes1(int size){
List<Integer> key=new ArrayList<>();
List<Integer> result=new ArrayList<>();
for(int i =0 ;i<size;i++){
key.add(i);
}
for(int i=0 ;i<size;i++){
boolean flag=true;
while(flag){
int randmonnum=(int) Math.round(Math.random()*(size-1));
int index=key.indexOf(randmonnum);
if(index>=0){
flag=false;
key.set(index, size);
result.add(randmonnum);
break;
}
}
}
return result;
}
本文介绍了一种生成不重复随机数列表的方法。通过创建一个有序整数列表,然后使用随机索引进行交换来实现随机化,确保了生成的列表中每个元素都是唯一的。
1902

被折叠的 条评论
为什么被折叠?



