在 Java 中从列表中随机选择项目
List 是 Java Collection 接口的子接口。它是一种线性结构,以顺序方式存储和访问每个元素。要使用列表的功能,我们使用实现列表接口的 ArrayList 和 LinekdList 类。在本文中,我们将创建一个 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) { // 创建数组列表 ArrayList<Integer> araylist = new ArrayList<Integer>(); // 在数组列表中添加元素 araylist.add(8); araylist.add(5); araylist.add(2); araylist.add(9); araylist.add(4); araylist.add(7); System.out.println("列表元素:"); // 循环遍历元素 for(int i = 0; i < araylist.size(); i++ ) { // 打印列表中的元素 System.out.println(araylist.get(i)); } Random rndm = new Random(); // 创建对象 int rndmElem = araylist.get(rndm.nextInt(araylist.size())); System.out.println("从列表中选择一个随机元素:" + rndmElem); } }
输出
列表元素: 8 5 2 9 4 7 从列表中随机选择一个元素:8
示例 2
类"Random"的对象可以从列表中选择一个元素两次。此示例演示了如何从列表中选择多个项目。
方法
创建一个 ArrayList 并使用"add()"方法在其中存储一些元素。
定义一个类"Random"的对象。
现在,声明一个名为"noOfrndmElem"的整数变量,它将存储要选择的项目数量。
创建一个 for 循环,它将运行到"noOfrndmElem"并选择项目。
import java.util.*; public class Randomly { public static void main(String[] args) { // 创建数组列表 ArrayList<Integer> araylist = new ArrayList<Integer>(); // 在数组列表中添加元素 araylist.add(8); araylist.add(5); araylist.add(2); araylist.add(9); araylist.add(4); araylist.add(7); System.out.println("列表元素:"); // 循环遍历元素 for(int i = 0; i < araylist.size(); i++ ) { // 打印列表中的元素 System.out.println(araylist.get(i)); } Random rndm = new Random(); int noOfrndmElem = 2; System.out.println("从列表中随机选择两个元素:"); for (int i = 0; i < noOfrndmElem; i++) { int rndmIndx = rndm.nextInt(araylist.size()); Integer rndmElem = araylist.get(rndmIndx); System.out.print(rndmElem + " "); } } }
输出
列表元素: 8 5 2 9 4 7 从列表中随机选择两个元素: 8 2
示例 3
之前我们讨论过,'Random' 类的对象可能会从列表中选择一个元素两次。此示例演示了如何避免这种情况。
方法
在相同的代码中,我们创建一个 for 循环,该循环将运行到'noOfrndmElem'并选择项目。选择后,它将使用内置方法'remove()'从列表中删除该元素。我们通过索引访问和删除元素。
import java.util.*; public class Randomly { public static void main(String[] args) { // 创建数组列表 ArrayList<Integer> araylist = new ArrayList<Integer>(); // 在数组列表中添加元素 araylist.add(8); araylist.add(5); araylist.add(2); araylist.add(9); araylist.add(4); araylist.add(7); System.out.println("列表元素:"); // 循环遍历元素 for(int i = 0; i < araylist.size(); i++ ) { // 打印列表中的元素 System.out.println(araylist.get(i)); } Random rndm = new Random(); int noOfrndmElem = 2; System.out.println("从列表中随机选择两个元素:"); 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); } } }
输出
列表元素: 8 5 2 9 4 7 从列表中随机选择两个元素: 7 2
结论
在本文中,我们讨论了一些用于从列表中随机选择项目的 Java 程序。我们首先定义列表,然后定义一个名为"Random"的类,用于生成随机数。我们定义了一个自定义逻辑并将其与"Random"类的对象一起应用于随机选择项目。