List is a sub-interface of the Java Collection interface. It is a linear structure where each element is stored and accessed sequentially. In order to use the features of list, we use ArrayList and LinkedList classes that implement the list interface. In this article, we will create an ArrayList and try to randomly select items in the list.
We create objects of this class to generate pseudo-random numbers. We will customize this object and apply our own logic to select any random item from the list.
Random nameOfObject = new Random();
The following example illustrates how to use an object of the 'Random' class to select a single item from a specified list.
Create an ArrayList and store some elements in it by using the 'add()' method.
Define an object of class ‘Random’.
This object will check the entire list and select an item using the 'nextInt()' method. Then, using the 'get()' method, we will extract the item and store it in an integer variable.
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
Objects of class "Random" can select an element from a list twice. This example demonstrates how to select multiple items from a list.
Create an ArrayList and store some elements in it by using the 'add()' method.
Define an object of class ‘Random’.
Now, declare an integer variable named ‘noOfrndmElem’ which will store the number of items to be selected.
Create a for loop that will run until 'noOfrndmElem' and select the item.
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
Earlier we discussed that an object of class 'Random' might select the same element twice from a list. This example demonstrates how we can avoid this situation.
In the same code, we have created a for loop that will run until 'noOfrndmElem' and select the item. Once selected, it will remove the element from the list using the built-in method 'remove()'. We access and delete elements via index.
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
In this article, we discussed some Java programs that randomly select items from a list. We first define the list and then define a class called "Random" for generating random numbers. We defined a custom logic and applied it with an object of class "Random" to randomly select items.
The above is the detailed content of Randomly select items from list in Java. For more information, please follow other related articles on the PHP Chinese website!