¿Cómo obtener elementos aleatorios de LinkedHashSet en Java?

LinkedHashSet se usa para mantener el orden de inserción y para generar elementos aleatorios a partir de LinkedHashSet, usaremos Random Class para generar un número aleatorio entre 0 y el tamaño de LinkedHashSet. Ese número aleatorio actuará como el índice de LinkedHashSet.

Podemos obtener un elemento aleatorio de tres formas:

  1. Atravesando el LinkedHashSet usando for loop y obteniendo el elemento aleatorio.
  2. Al almacenar LinkedHashSet en una array y hacer que el elemento esté presente en el índice de números aleatorios.
  3. Almacenando LinkedHashSet en ArrayList y obteniendo el elemento en una posición de número aleatorio.

Ejemplo 1:

  • Generaremos el elemento aleatorio de 0 al tamaño del tamaño de LinkedHashSet.
  • Luego recorreremos el LinkedHashSet usando el ciclo for y verificaremos si el i -ésimo índice es igual al número aleatorio y luego imprimiremos ese elemento.

Java

// Java program to get the random element
// from LinkedHashSet
 
import java.util.LinkedHashSet;
import java.util.Random;
 
class GFG {
    public static void main(String[] args)
    {
        LinkedHashSet<String> cset = new LinkedHashSet<>();
 
        // Adding elements to LinkedHashSet
        cset.add("Paneer Butter Masala");
        cset.add("Paneer Lababdar");
        cset.add("Kadai Paneer Gravy");
        cset.add("Malai Kofta Curry");
        cset.add("Palak Paneer");
        cset.add("Mughlai Shahi Paneer");
        cset.add("Restaurant Style Chilli Paneer");
        cset.add("Restaurant Style Matar Paneer");
        cset.add("Paneer Tikka Masala");
        cset.add("Paneer Makhani");
        cset.add("Achari Paneer Gravy");
 
        // This will generate a random number
        // between 0 and LinkedHashSet size()
        Random random = new Random();
        int randomNumber = random.nextInt(cset.size());
 
        // maintaining the index
        int count = 0;
        for (String s : cset) {
           
            // when ever our index counter variable "count"
            // will be equal to the random number it will
            // print the element at that position in the
            // LinkedHashSet and after printing we will break
            // the loop
            if (count == randomNumber) {
                System.out.println(s);
                break;
            }
            count++;
        }
    }
}
Producción

Paneer Butter Masala

Ejemplo 2:

  • En este enfoque, almacenaríamos LinkedHashSet en la array y devolveríamos el elemento presente en el índice de elementos aleatorios.

Java

// Java program to get the random element
// from LinkedHashSet
 
import java.util.LinkedHashSet;
import java.util.Random;
 
class GFG {
    public static void main(String[] args)
    {
        LinkedHashSet<String> cset = new LinkedHashSet<>();
 
        // Adding elements to the LinkedHashSet
        cset.add("Paneer Butter Masala");
        cset.add("Paneer Lababdar");
        cset.add("Kadai Paneer Gravy");
        cset.add("Malai Kofta Curry");
        cset.add("Palak Paneer");
        cset.add("Mughlai Shahi Paneer");
        cset.add("Restaurant Style Chilli Paneer");
        cset.add("Restaurant Style Matar Paneer");
        cset.add("Paneer Tikka Masala");
        cset.add("Paneer Makhani");
        cset.add("Achari Paneer Gravy");
 
        Random random = new Random();
        int randomNumber = random.nextInt(cset.size());
 
        // creating an array so that we can store
        // the content of LinkedHashSet
        String[] csetArray = new String[cset.size()];
        csetArray = cset.toArray(csetArray);
       
        // printing the element present at position
        // randoNumber in array csetArray
        System.out.println(csetArray[randomNumber]);
    }
}
Producción

Achari Paneer Gravy

Ejemplo 3:

  • En este enfoque, almacenaríamos LinkedHashSet en ArrayList y devolveríamos el elemento presente en una posición de elemento aleatoria.

Java

// Java program to get the random element
// from LinkedHashSet
 
import java.util.ArrayList;
import java.util.LinkedHashSet;
import java.util.Random;
 
class GFG {
    public static void main(String[] args)
    {
        LinkedHashSet<String> cset = new LinkedHashSet<>();
 
        // Adding elements to the ArrayList
        cset.add("Paneer Butter Masala");
        cset.add("Paneer Lababdar");
        cset.add("Kadai Paneer Gravy");
        cset.add("Malai Kofta Curry");
        cset.add("Palak Paneer");
        cset.add("Mughlai Shahi Paneer");
        cset.add("Restaurant Style Chilli Paneer");
        cset.add("Restaurant Style Matar Paneer");
        cset.add("Paneer Tikka Masala");
        cset.add("Paneer Makhani");
        cset.add("Achari Paneer Gravy");
 
        Random random = new Random();
        int randomNumber = random.nextInt(cset.size());
 
        // Creating an ArrayList and storing all
        // element of LinkedHashSet into ArrayList
        ArrayList clist = new ArrayList<>(cset);
       
        // Printing the content of arraylist which is
        // present at index random number
        System.out.println(clist.get(randomNumber));
    }
}
Producción

Malai Kofta Curry

Publicación traducida automáticamente

Artículo escrito por le0 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 *