在Java中隨機選擇列表中的專案


List是Java集合介面的子介面。它是一種線性結構,以順序方式儲存和訪問每個元素。為了使用列表的功能,我們使用實現列表介面的ArrayList和LinkedList類。在本文中,我們將建立一個ArrayList並嘗試隨機選擇該列表中的專案。

Java中隨機選擇列表中專案的程式

Random類

我們建立此類的物件以生成偽隨機數。我們將自定義此物件並應用我們自己的邏輯來從列表中隨機選擇任何專案。

語法

Random nameOfObject = new Random();

示例1

以下示例說明了如何使用“Random”類的物件從指定的列表中選擇單個專案。

方法

  • 建立一個ArrayList,並使用“add()”方法在其中儲存一些元素。

  • 定義“Random”類的物件。

  • 該物件將檢查整個列表,並使用“nextInt()”方法選擇一個專案。然後,使用“get()”方法,我們將獲取該專案並將其儲存在一個整數變數中。

示例

import java.util.*;
public class Randomly {
   public static void main(String[] args) {
     // Creating arraylist 
     ArrayList<Integer> araylist = new ArrayList<Integer>();
     // Adding elements in arraylist
     araylist.add(8);
     araylist.add(5);
     araylist.add(2);
     araylist.add(9);
     araylist.add(4);
     araylist.add(7);
     System.out.println("Elements of the list : ");
     // loop to iterate through elements
     for(int i = 0; i < araylist.size(); i++ ) {
       // to print the elements in the list
       System.out.println(araylist.get(i)); 
     }
     Random rndm = new Random(); 
     // creating object
     int rndmElem = araylist.get(rndm.nextInt(araylist.size()));
     System.out.println("Selecting a random element from the list : " + rndmElem);
   }
}

輸出

Elements of the list : 
8
5
2
9
4
7
Selecting a random element from the list : 8

示例2

“Random”類的物件可能會從列表中重複選擇一個元素兩次。此示例演示瞭如何從列表中選擇多個專案。

方法

  • 建立一個ArrayList,並使用“add()”方法在其中儲存一些元素。

  • 定義“Random”類的物件。

  • 現在,宣告一個名為“noOfrndmElem”的整數變數,該變數將儲存要選擇的專案數。

  • 建立一個for迴圈,該迴圈將執行到“noOfrndmElem”並選擇專案。

import java.util.*;
public class Randomly {
   public static void main(String[] args) {
      // Creating arraylist 
      ArrayList<Integer> araylist = new ArrayList<Integer>();
      // Adding elements in arraylist
      araylist.add(8);
      araylist.add(5);
      araylist.add(2);
      araylist.add(9);
      araylist.add(4);
      araylist.add(7);
      System.out.println("Elements of the list : ");
      // loop to iterate through elements
      for(int i = 0; i < araylist.size(); i++ ) {
         // to print the elements in the list
         System.out.println(araylist.get(i)); 
      }
      Random rndm = new Random();
      int noOfrndmElem = 2;
      System.out.println("Selecting two elements randomly from the list : ");
      for (int i = 0; i < noOfrndmElem; i++) {
         int rndmIndx = rndm.nextInt(araylist.size());
         Integer rndmElem = araylist.get(rndmIndx);
         System.out.print(rndmElem + " ");
      }
   }
}

輸出

Elements of the list : 
8
5
2
9
4
7
Selecting two elements randomly from the list : 
8 2 

示例3

前面我們討論過“Random”類的物件可能會從列表中重複選擇一個元素兩次。此示例演示瞭如何避免這種情況。

方法

在同一程式碼中,我們建立了一個for迴圈,該迴圈將執行到“noOfrndmElem”並選擇專案。選擇後,它將使用內建方法“remove()”從列表中刪除該元素。我們透過索引訪問和刪除元素。

import java.util.*;
public class Randomly {
   public static void main(String[] args) {
      // Creating arraylist 
      ArrayList<Integer> araylist = new ArrayList<Integer>();
      // Adding elements in arraylist
      araylist.add(8);
      araylist.add(5);
      araylist.add(2);
      araylist.add(9);
      araylist.add(4);
      araylist.add(7);
      System.out.println("Elements of the list : ");
      // loop to iterate through elements
      for(int i = 0; i < araylist.size(); i++ ) {
         // to print the elements in the list
         System.out.println(araylist.get(i)); 
      }
      Random rndm = new Random();
      int noOfrndmElem = 2;
      System.out.println("Selecting two elements randomly from the list : ");
      for (int i = 0; i < noOfrndmElem; i++) {
         int rndmIndx = rndm.nextInt(araylist.size());
         Integer rndmElem = araylist.get(rndmIndx);
         System.out.print(rndmElem + " ");
         araylist.remove(rndmIndx);
      }
   }
}

輸出

Elements of the list : 
8
5
2
9
4
7
Selecting two elements randomly from the list : 
7 2 

結論

在本文中,我們討論了一些Java程式,用於隨機選擇列表中的專案。我們從定義列表開始,然後定義一個名為“Random”的類,該類用於生成隨機數。我們定義了一個自定義邏輯,並將其與“Random”類的物件一起應用,以隨機選擇專案。

更新於: 2023年5月16日

9K+ 瀏覽量

啟動您的職業生涯

透過完成課程獲得認證

開始
廣告
© . All rights reserved.