Obtener elementos aleatorios de ArrayList en Java

marco de colección

Hay varios métodos para obtener un elemento aleatorio de ArrayList:

  1. Usando Math.random()
  2. Uso aleatorio de ArrayList
  3. Usando la clase aleatoria

Método 1: Usar Math.random()

Sintaxis:

public static double random()

Retorno:
Este método devuelve un doble pseudoaleatorio mayor o igual a 0.0 y menor a 1.0.

  • Math.random() genera un valor aleatorio entre 0 y 1. 
  • Multiplique este valor por el tamaño de ArrayList y tome solo la parte entera de este valor.
  • Ahora el número que se genera después de realizar los pasos anteriores se puede tomar como índice de ArrayList.
  • Use el método get() para devolver un elemento aleatorio de ArrayList usando el índice generado anteriormente.

Java

// Java program for Getting Random Elements 
// from ArrayList using Math.random() function
  
import java.io.*;
import java.util.ArrayList;
class GFG {
    public static void main(String[] args)
    {
        // creating ArrayList
        ArrayList<Integer> my_list = new ArrayList<Integer>();
  
        // adding elements
        my_list.add(10);
        my_list.add(80);
        my_list.add(30);
        my_list.add(70);
        my_list.add(5);
        my_list.add(90);
        my_list.add(19);
        my_list.add(25);
  
        // loop to print elements at randonm
        for (int i = 0; i < my_list.size(); i++) 
        {
           // generating the index using Math.random()
            int index = (int)(Math.random() * my_list.size());
  
            System.out.println("Random Element is :"
                               + my_list.get(index));
        }
    }
}
Producción

Random Element is :70
Random Element is :25
Random Element is :90
Random Element is :5
Random Element is :70
Random Element is :30
Random Element is :70
Random Element is :10

Método 2: Usando ArrayList Shuffle

  • El método Collections.shuffle() de Java mezcla el orden de los elementos en ArrayList.
  • Ahora podemos simplemente iterar sobre ArrayList y devolver los elementos tal como están en orden aleatorio ahora.

obtiene

Java

// Java program for Getting Random Elements 
// from ArrayList using Collections.shuffle()
  
import java.io.*;
import java.util.*;
import java.util.ArrayList;
class GFG {
    public static void main(String[] args)
    {
        // creating ArrayList
        ArrayList<Integer> my_list = new ArrayList<Integer>();
  
        // adding elements
        my_list.add(10);
        my_list.add(80);
        my_list.add(30);
        my_list.add(70);
        my_list.add(5);
        my_list.add(90);
        my_list.add(19);
        my_list.add(25);
  
        // using collections.shuffle to shuffle elements of
        // ArrayList
        Collections.shuffle(my_list);
  
        // using for each loop to print values at random
        System.out.println("Random values :");
        
        for (Integer random_values : my_list)
        {
            System.out.print(random_values + " ");
        }
    }
}
Producción

Random values :
19 5 25 90 10 30 80 70

Método 3: Uso de la función Clase aleatoria

  • El método nextInt() de la clase Random se puede usar para generar un valor aleatorio entre 0 y el tamaño de ArrayList.
  • Ahora use este número como un índice de ArrayList.
  • Use el método get() para devolver un elemento aleatorio de ArrayList usando el número generado por el método nextInt().

Java

// Java program for Getting Random Elements 
// from ArrayList using nextInt() function
  
import java.io.*;
import java.util.ArrayList;
import java.util.Random;
class GFG {
    public static void main(String[] args)
    {
        // creating ArrayList
        ArrayList<Integer> my_list = new ArrayList<Integer>();
  
        // adding elements
        my_list.add(10);
        my_list.add(80);
        my_list.add(30);
        my_list.add(70);
        my_list.add(5);
        my_list.add(90);
        my_list.add(19);
        my_list.add(25);
  
        // initializing random class
        Random random_method = new Random();
  
        // loop for generation random number
        for (int i = 0; i < my_list.size(); i++) 
        {
            // generating random index with the help of
            // nextInt() method
            int index = random_method.nextInt(my_list.size());
  
            System.out.println("Random Element is :"
                               + my_list.get(index));
        }
    }
}
Producción

Random Element is :5
Random Element is :10
Random Element is :19
Random Element is :5
Random Element is :30
Random Element is :70
Random Element is :25
Random Element is :90

Publicación traducida automáticamente

Artículo escrito por uchiha1101 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *