前几天公司有业务需求需要生成不重复的数字,我觉得这样的需求很多场景都适用,所以就想发个博客送给爱动手查找的朋友(*^▽^*) ,以下代码可指定几组随机数(几组随机数取决于最大随机数)丶生成集合内单个元素最大值(最大随机数)丶每组随机数的数量,可以根据自己业务自行更改,话不多说直接上代码
public class RandomNumbersTest {
public static void main(String[] args) {
int numOfSets = 5; // 生成5组随机数
int maxNum = 99; // 最大随机数为99
int setSize = 5; //每组随机数的数量为5
for (int i = 0; i < numOfSets; i++) {
HashSet<Integer> set = new HashSet<Integer>();
Random random = new Random();
while (set.size() < setSize) {
int num = random.nextInt(maxNum) + 1;
set.add(num);
}
System.out.println("Set " + (i+1) + ": " + set);
}
}
}
以下是执行结果
Set 1: [97, 21, 8, 25, 63]
Set 2: [33, 98, 87, 25, 11]
Set 3: [80, 68, 73, 57, 74]
Set 4: [98, 71, 73, 92, 15]
Set 5: [81, 3, 6, 44, 46]