Java生成隨機無重復隨機數,使用ArrayList實現

123bt 9年前發布 | 3K 次閱讀 Java

import java.util.ArrayList;
import java.util.Random;

/**

  • 生成隨機無重復隨機數,使用ArrayList實現
  • 算法:加入隨機數時檢測列表中是否已存在此隨機數,有則重來,無則加入。
  • */ public class Demo { public static void main(String[] args) {

     int length = 50; // 50個隨機數
     Random random = new Random();
     ArrayList<Integer> list = new ArrayList<Integer>();
    
     for (int i = 0; i < length; i++) {
         int number = random.nextInt(100) + 1; // 1-100的隨機數(此處100必須比length大,否則會死循環)
         if (!list.contains(number)) {
             list.add(number);
         } else {
             i--; // 保證生成的隨機數個數足夠,防止有重復隨機數時造成空位
         }
     }
    
     for (int i = 0; i < length; i++) {
         System.out.print(list.get(i) + "\t");
    
         if ((i + 1) % 10 == 0) {
             System.out.println("");
         }
     }
    

    } }</pre>

 本文由用戶 123bt 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!