随机生成10000个在区间1~10万之间的整数,然后找出最大的10个数字。
记录一下,自己遇到这道题时,自己第一时间想到的方法
/**
* 随机生成10000个在区间1~10万之间的整数,然后找出最大的10个数字。
*/
@Test
void GetMaxRandom(){
// 创建一个Random实例
Random random = new Random();
// 设定一个 10000 的数,用于控制 循环次数和最大区间10万
final int COUNT = 10000;
// 创建一个集合 存放 10000个在区间1~10万之间的整数
List<Integer> numList = new ArrayList<>();
// 利用循环和Random.nextInt(int count) 生成 count以内的整数,不包含count
for (int i = 0; i < COUNT; i++){
numList.add(random.nextInt(COUNT * 10 + 1));
}
// 使用循环从大到小排序
for (int i = 0; i < COUNT; i++){
for (int j = i; j < COUNT; j++){
if (numList.get(i) < numList.get(j)){
int min = numList.get(i);
numList.set(i,numList.get(j));
numList.set(j,min);
}
}
}
// 取出前10个最大的数字
for (int i = 0 ; i < 10; i++) {
System.out.println(numList.get(i));
}
}