最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java ArrayList如何實現(xiàn)生成不重復(fù)隨機(jī)數(shù)

 更新時間:2020年09月25日 15:53:05   作者:勤快的懶羊羊  
這篇文章主要介紹了Java ArrayList如何實現(xiàn)生成不重復(fù)隨機(jī)數(shù),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

在此之前我使用Java的數(shù)組實現(xiàn)了產(chǎn)生N-M之間的不重復(fù)的隨機(jī)數(shù),下面是使用數(shù)列ArrayList實現(xiàn)同樣的功能,代碼如下:

/**
   * 隨機(jī)生成 N--M,N個不重復(fù)隨機(jī)數(shù) 使用ArrayList
   *
   * @param startRange 起始數(shù)字
   * @param endRange  終止數(shù)字
   * @param count   個數(shù)
   */
  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;
  }

這個實現(xiàn)的原理和使用數(shù)組基本一致,但是需要注意的幾點,我這里是使用的一個返回序列,參數(shù)只有起始值、終值和個數(shù),然后定義了一個ArrayList數(shù)列,使用數(shù)列的add方法,接收每一個產(chǎn)生的隨機(jī)數(shù),并使用For循環(huán)進(jìn)行判斷是否重復(fù),如果重復(fù)外循環(huán) i -- ,但是這里需要注意的是:此時ArrayList里面已經(jīng)存放了當(dāng)前的重復(fù)的值了,所以不能只用 i --,還需要使用梳理的remove方法將此不符合條件的數(shù)移除,這里是需要注意的,如果不寫著一句,在小的范圍內(nèi)生成的隨機(jī)數(shù)很可能會出現(xiàn)死循環(huán)。

下面是成功運行的截圖:

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 詳解如何使用maven生成可以執(zhí)行的jar

    詳解如何使用maven生成可以執(zhí)行的jar

    這篇文章主要介紹了詳解如何使用maven生成可以執(zhí)行的jar,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-06-06
  • 僅用5分鐘極速入門Dubbo使用教程

    僅用5分鐘極速入門Dubbo使用教程

    今天給大家介紹一款高性能、透明的遠(yuǎn)程過程調(diào)用框架dubbo,通過本文學(xué)習(xí)可以快速掌握Dubbo知識,感興趣的朋友跟隨小編一起看看吧
    2021-06-06
  • Java建造者設(shè)計模式詳解

    Java建造者設(shè)計模式詳解

    這篇文章主要為大家詳細(xì)介紹了Java建造者設(shè)計模式,對建造者設(shè)計模式進(jìn)行分析理解,感興趣的小伙伴們可以參考一下
    2016-02-02
  • springcloud本地配置優(yōu)先方式

    springcloud本地配置優(yōu)先方式

    這篇文章主要介紹了springcloud本地配置優(yōu)先方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • JAVA實現(xiàn)漢字轉(zhuǎn)拼音功能代碼實例

    JAVA實現(xiàn)漢字轉(zhuǎn)拼音功能代碼實例

    這篇文章主要介紹了JAVA實現(xiàn)漢字轉(zhuǎn)拼音功能代碼實例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-05-05
  • mybatisPlus條件構(gòu)造器常用方法小結(jié)

    mybatisPlus條件構(gòu)造器常用方法小結(jié)

    這篇文章主要介紹了mybatisPlus條件構(gòu)造器常用方法,首先是.select和其他條件,本文結(jié)合示例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-10-10
  • java中sleep方法和wait方法的五個區(qū)別

    java中sleep方法和wait方法的五個區(qū)別

    這篇文章主要介紹了java中sleep方法和wait方法的五個區(qū)別,sleep?方法和?wait?方法都是用來將線程進(jìn)入休眠狀態(tài),但是又有一些區(qū)別,下面我們就一起來看看吧
    2022-05-05
  • Spring MVC簡介_動力節(jié)點Java學(xué)院整理

    Spring MVC簡介_動力節(jié)點Java學(xué)院整理

    Spring MVC屬于SpringFrameWork的后續(xù)產(chǎn)品,已經(jīng)融合在Spring Web Flow里面。今天先從寫一個Spring MVC的HelloWorld開始,讓我們看看如何搭建起一個Spring mvc的環(huán)境并運行程序,感興趣的朋友一起學(xué)習(xí)吧
    2017-08-08
  • springboot中redis操作Hash踩坑解決

    springboot中redis操作Hash踩坑解決

    本文主要介紹了springboot中redis操作Hash踩坑解決,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-06-06
  • Spring+MyBatis實現(xiàn)數(shù)據(jù)庫讀寫分離方案

    Spring+MyBatis實現(xiàn)數(shù)據(jù)庫讀寫分離方案

    本文主要介紹了Spring+MyBatis實現(xiàn)數(shù)據(jù)庫讀寫分離方案。具有一定的參考價值,下面跟著小編一起來看下吧
    2017-01-01

最新評論

金溪县| 民县| 乐业县| 巨野县| 封开县| 吉隆县| 正镶白旗| 绵竹市| 甘泉县| 乐昌市| 陇川县| 恩平市| 浠水县| 龙游县| 房产| 汉沽区| 会宁县| 辽阳县| 新泰市| 霍山县| 嘉黎县| 新津县| 仙游县| 新津县| 百色市| 临沂市| 柳江县| 定结县| 政和县| 钦州市| 米易县| 洞头县| 永川市| 吉林市| 牟定县| 宜城市| 大化| 曲靖市| 赫章县| 历史| 桐庐县|