21xrx.com
2024-12-22 21:42:43 Sunday
登录
文章检索 我的文章 写文章
不重复的数字序列
2023-06-16 09:34:08 深夜i     --     --
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;

  }

}

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

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复
    相似文章