使用Java ArrayList实现生成不重复随机数的示例

这期内容当中小编将会给大家带来有关使用Java ArrayList实现生成不重复随机数的示例,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

使用数列ArrayList实现,代码如下:

/**
   * 随机生成 N--M,N个不重复随机数 使用ArrayList
   *
   * @param startRange 起始数字
   * @param endRange  终止数字
   * @param count   个数
   */
  public static ArrayList<Integer> getRandom(int startRange, int endRange, int count) {
    ArrayList<Integer> arr = new ArrayList<>();
    for (int i = 0; i < count; i++) {
      arr.add(((int) (Math.random() * (endRange - startRange + 1) + startRange)));
      for (int j = 0; j < i; j++) {
        if (arr.get(i) == arr.get(j)) {
          arr.remove(i);
          i--;
          break;
        }
      }
    }
    return arr;
  }

这个实现的原理和使用数组基本一致,但是需要注意的几点,我这里是使用的一个返回序列,参数只有起始值、终值和个数,然后定义了一个ArrayList数列,使用数列的add方法,接收每一个产生的随机数,并使用For循环进行判断是否重复,如果重复外循环 i -- ,但是这里需要注意的是:此时ArrayList里面已经存放了当前的重复的值了,所以不能只用 i --,还需要使用梳理的remove方法将此不符合条件的数移除,这里是需要注意的,如果不写着一句,在小的范围内生成的随机数很可能会出现死循环。

下面是成功运行的截图:

使用Java ArrayList实现生成不重复随机数的示例

上述就是小编为大家分享的使用Java ArrayList实现生成不重复随机数的示例了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注行业资讯频道。