21xrx.com
2025-03-30 14:19:05 Sunday
文章检索 我的文章 写文章
不重复的数字序列
2023-06-16 09:34:08 深夜i     7     0
Java Random类 HashSet容器 随机数 生成不重复数字序列

Java是一种高效、跨平台的编程语言,经常用于开发复杂的应用程序和算法。在很多情况下,我们需要随机生成不重复的数字序列,例如生成验证码、密码、抽奖等。那么在Java中,如何随机生成不重复的数字序列呢?

下面我们来介绍一个简单有效的方法——使用Java的Random类和HashSet容器。具体步骤如下:

1.创建一个HashSet容器,用于存放生成的随机数字序列。

2.创建一个Random对象,用于生成随机数。

3.定义一个while循环,一直循环到HashSet容器中元素数量达到指定数量为止。

4.在while循环中,生成一个随机数,并判断是否已经在HashSet容器中存在。如果不存在,则将其加入到HashSet容器中。

5.最后,将HashSet容器转换成int数组即可。

以下是代码实现:

import java.util.HashSet;
import java.util.Random;
public class RandomSequence {
  public static void main(String[] args) {
    int length = 6; //生成的数字序列长度
    int maxNum = 10; //生成的数字最大值
    int[] randomSequence = generateRandomSequence(length, maxNum);
    for (int i : randomSequence) {
      System.out.print(i + " ");
    }
  }
  public static int[] generateRandomSequence(int length, int maxNum) {
    HashSet
  set = new HashSet<>();
 
    Random random = new Random();
    while (set.size() < length) {
      int num = random.nextInt(maxNum);
      set.add(num);
    }
    int[] arr = set.stream().mapToInt(Integer::intValue).toArray();
    return arr;
  }
}

以上代码可以随机生成指定长度、指定最大值的数字序列,并且保证数字不重复。

  
  

评论区