Home > Java > javaTutorial > Randomly select items from list in Java

Randomly select items from list in Java

王林
Release: 2023-09-06 20:33:11
forward
1514 people have browsed it

Randomly select items from list in Java

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.

Program to randomly select items in a list in Java

Random category

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.

grammar

Random nameOfObject = new Random();
Copy after login

Example 1

is translated as:

Example 1

The following example illustrates how to use an object of the 'Random' class to select a single item from a specified list.

method

  • 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.

Example

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);
   }
}
Copy after login

Output

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

Example 2

Objects of class "Random" can select an element from a list twice. This example demonstrates how to select multiple items from a list.

method

  • 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 + " ");
      }
   }
}
Copy after login

Output

Elements of the list : 
8
5
2
9
4
7
Selecting two elements randomly from the list : 
8 2 
Copy after login
The Chinese translation of

Example 3

is:

Example 3

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.

method

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);
      }
   }
}
Copy after login

Output

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

in conclusion

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!

Related labels:
source:tutorialspoint.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template