用java向集合ArrayList中添加10个1-20之间的随机数,要求随机数不能重复
时间: 2024-12-01 15:29:12 浏览: 19
在Java中,我们可以使用`Random`类生成随机数,并结合`ArrayList`和`HashSet`来保证随机数的唯一性和不重复。下面是一个示例,首先创建一个ArrayList用于存储随机数,然后使用HashSet进行去重:
```java
import java.util.ArrayList;
import java.util.HashSet;
import java.util.Random;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
ArrayList<Integer> uniqueNumbers = new ArrayList<>();
HashSet<Integer> set = new HashSet<>();
Random random = new Random();
int maxNum = 20;
while(uniqueNumbers.size() < 10) { // 添加直到达到10个不重复的随机数
int randomNumber = random.nextInt(maxNum) + 1; // 生成1-20的随机数
if(!set.contains(randomNumber)) {
uniqueNumbers.add(randomNumber); // 只有当随机数不在HashSet中才添加
set.add(randomNumber); // 更新HashSet
}
}
// 输出集合
System.out.println("集合中的10个不重复的随机数:");
for (int num : uniqueNumbers) {
System.out.println(num);
}
}
}
```
这段代码会在用户界面循环生成随机数,直到得到10个不重复的随机数为止。生成的每个新随机数都会被检查是否已经存在,如果不存在则添加到列表和集合中。
阅读全文