Skip to content
Related Articles

Related Articles

How to Get Random Elements from LinkedHashSet in Java?
  • Difficulty Level : Expert
  • Last Updated : 07 Jan, 2021
GeeksforGeeks - Summer Carnival Banner

LinkedHashSet is used to maintain the insertion order and for generating random elements from LinkedHashSet we will use Random Class to generate a random number between 0 and the LinkedHashSet size. That random number will act as the index of LinkedHashSet.

We can get a random element in three ways:

  1. By traversing through the LinkedHashSet using for loop and getting the random element.
  2. By storing the LinkedHashSet in array and getting the element present at random number index.
  3. By storing the LinkedHashSet in ArrayList and getting the element at a random number position.

Example 1:

  • We will generate the random element from 0 to size of LinkedHashSet size.
  • Then we will traverse the LinkedHashSet using for loop and check if the ith index is equal to the random number then print that element.

Java




// Java program to get the randome 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("Restaurent Style Chilli Paneer");
        cset.add("Restaurent 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++;
        }
    }
}
Output
Paneer Butter Masala

Example 2:



  • In this approach, we would store the LinkedHashSet in the array and return the element present at random element index.

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("Restaurent Style Chilli Paneer");
        cset.add("Restaurent 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]);
    }
}
Output
Achari Paneer Gravy

Example 3:

  • In this approach, we would store the LinkedHashSet in the ArrayList and return the element present at a random element position.

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("Restaurent Style Chilli Paneer");
        cset.add("Restaurent 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));
    }
}
Output
Malai Kofta Curry

Attention reader! Don’t stop learning now. Get hold of all the important Java Foundation and Collections concepts with the Fundamentals of Java and Java Collections Course at a student-friendly price and become industry ready. To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

My Personal Notes arrow_drop_up
Recommended Articles
Page :