在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”類的物件一起應用,以隨機選擇專案。
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP