[java]代码库
import java.util.ArrayList;
import java.util.Random;
/**
* 生成随机无重复随机数,使用ArrayList实现
*
* 算法:加入随机数时检测列表中是否已存在此随机数,有则重来,无则加入。
*
*/
public class Demo {
public static void main(String[] args) {
int length = 50; // 50个随机数
Random random = new Random();
ArrayList<Integer> list = new ArrayList<Integer>();
for (int i = 0; i < length; i++) {
int number = random.nextInt(100) + 1; // 1-100的随机数(此处100必须比length大,否则会死循环)
if (!list.contains(number)) {
list.add(number);
} else {
i--; // 保证生成的随机数个数足够,防止有重复随机数时造成空位
}
}
for (int i = 0; i < length; i++) {
System.out.print(list.get(i) + "\t");
if ((i + 1) % 10 == 0) {
System.out.println("");
}
}
}
}