代码:
要注意的是Ramdom新建对象的时候,带固定参数会到导致每次随机数一样,这个参数是一个随机种子,可不带,默认传入的是系统时间。
ArrayList arr = new ArrayList();
for(int a = 0;a<10;a++){
arr.add(a+"");
System.out.print(arr.get(a)+" ");
}
Random a = new Random(10);
ArrayList newArr = new ArrayList();
int i;
for(i = 0;i<10;i++){
int c = a.nextInt(10);
if(newArr.contains(c+"")){
i--;
}else{
newArr.add(c+"");
}
}
System.out.println();
System.out.println("======================");
for(int m = 0;m<newArr.size();m++){
System.out.print(newArr.get(m)+" ");
}
System.out.println();
System.out.println("======================");
for(int m = 0;m<newArr.size();m++){
System.out.print(arr.get(Integer.parseInt(newArr.get(m).toString()))+" ");
}
输出结果:
0 1 2 3 4 5 6 7 8 9
======================
3 0 6 7 8 1 4 9 5 2
======================
3 0 6 7 8 1 4 9 5 2