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

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

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

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

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

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

下面是成功運(yùn)行的截圖:

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

相關(guān)文章

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Spring MVC簡介_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

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

    springboot中redis操作Hash踩坑解決

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

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

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

最新評(píng)論

安福县| 瑞昌市| 西贡区| 丹寨县| 惠安县| 永福县| 龙海市| 北京市| 永修县| 龙州县| 特克斯县| 钦州市| 丹凤县| 油尖旺区| 阜新市| 开阳县| 定襄县| 抚州市| 东台市| 昭通市| 尼勒克县| 淄博市| 越西县| 商南县| 澄迈县| 安新县| 梅州市| 郎溪县| 平远县| 顺昌县| 金溪县| 鄂尔多斯市| 格尔木市| 博野县| 伊川县| 神农架林区| 讷河市| 巴塘县| 禹城市| 三河市| 吉隆县|