java random产生不重复的随机数
时间: 2023-09-02 19:12:00 浏览: 82
可以使用set来存储已经生成的随机数,每次生成随机数时判断是否已经存在于set中,如果存在则重新生成,直到生成一个不在set中的随机数。以下是示例代码:
```java
Set<Integer> set = new HashSet<>();
Random random = new Random();
int limit = 100;
int count = 10; // 生成10个不重复的随机数
while (set.size() < count) {
int num = random.nextInt(limit);
if (!set.contains(num)) {
set.add(num);
System.out.println(num);
}
}
```
相关问题
java random不重复随机数
可以使用Java中的ArrayList和Collections.shuffle方法来实现不重复的随机数生成。下面是一个示例代码:
```java
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class RandomNonRepeat {
public static void main(String[] args) {
int min = 1;
int max = 10;
int count = 5;
List<Integer> numbers = new ArrayList<>();
for (int i = min; i <= max; i++) {
numbers.add(i);
}
Collections.shuffle(numbers);
for (int i = 0; i < count; i++) {
System.out.println(numbers.get(i));
}
}
}
```
在上面的代码中,我们首先创建一个包含指定范围内的数字的ArrayList。然后使用Collections.shuffle方法将列表中的元素随机排序。最后,我们从列表中取出前count个元素作为不重复的随机数。
java产生大量的不重复随机数
您可以使用`java.util.Random`类来生成随机数。使用该类的`nextInt()`方法可以生成一个随机整数。如果您需要生成一定范围内的随机整数,可以通过对生成的随机整数进行取模操作来实现。例如,如果您需要生成0到99之间的随机整数,可以使用以下代码:
```java
Random random = new Random();
int randomNumber = random.nextInt(100);
```
如果您需要生成一定数量的不重复随机数,可以将生成的随机数存储到一个`Set`集合中,因为`Set`集合中不能存储重复元素。例如,以下代码可以生成10个0到99之间的不重复随机数:
```java
Random random = new Random();
Set<Integer> randomNumbers = new HashSet<>();
while (randomNumbers.size() < 10) {
randomNumbers.add(random.nextInt(100));
}
System.out.println(randomNumbers);
```
该代码会在控制台输出10个不重复的随机数。