Java 高性能生成4位随机数
时间: 2023-09-04 14:15:48 浏览: 54
可以使用 Java 的 Random 类来生成随机数。以下是生成4位随机数的示例代码:
```java
import java.util.Random;
public class RandomNumberGenerator {
public static void main(String[] args) {
Random random = new Random();
int randomNumber = random.nextInt(9000) + 1000;
System.out.println("随机数:" + randomNumber);
}
}
```
这里使用 `nextInt(9000)` 生成一个小于9000的随机整数,再加上1000,就得到了一个4位随机整数。
相关问题
Java 高性能生成n个6位数据库中不重复随机数字
可以使用Java中的Random类和HashSet集合来生成n个不重复的6位随机数字,代码如下:
```java
import java.util.HashSet;
import java.util.Random;
import java.util.Set;
public class RandomGenerator {
public static Set<String> generateRandomNumbers(int n) {
Set<String> numbers = new HashSet<>();
Random random = new Random();
while (numbers.size() < n) {
int num = random.nextInt(900000) + 100000; // 生成6位随机数
numbers.add(String.valueOf(num)); // 添加到集合中,自动去重
}
return numbers;
}
public static void main(String[] args) {
Set<String> numbers = generateRandomNumbers(10);
for (String number : numbers) {
System.out.println(number);
}
}
}
```
其中,Random类的nextInt方法可以生成一个int类型的随机数,我们通过加上100000来保证生成的是6位数,然后将其转换为字符串类型,添加到HashSet集合中即可。由于HashSet会自动去重,所以最终生成的数字个数可能会小于n个。
java线程安全的随机数
在Java中,可以使用`java.security.SecureRandom`类来生成线程安全的随机数。这个类是Java提供的安全随机数生成器,它使用强加密算法来生成高质量的随机数。
使用`java.security.SecureRandom`生成随机数的步骤如下:
1. 创建`SecureRandom`对象:`SecureRandom secureRandom = new SecureRandom();`
2. 调用`nextBytes()`方法生成随机数:`byte[] randomBytes = new byte[16]; secureRandom.nextBytes(randomBytes);`
上述代码将生成一个长度为16字节的随机数,可以根据需要调整随机数的长度。
`SecureRandom`类的实例是线程安全的,可以在多线程环境下使用。如果需要更高的性能,可以考虑使用`ThreadLocalRandom`类,它提供了针对多线程环境的高效随机数生成。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)