Open In App

Shuffling Elements of Unordered Collections in Java

Improve
Improve
Like Article
Like
Save
Share
Report

Unordered Collections in java does not provide any order i.e. the elements cannot be accessed using specific indexing or ordering as we could in the case of ordered collections such as List. Sets and Maps are examples of unordered collections.

In java, we cannot shuffle unordered collections directly using Collections.shuffle() method as it expects a List as a parameter. 

For shuffling the elements,

  • We have to first store the elements of the unordered collection inside a List, and then we can shuffle it using Collections.shuffle() method. 

1) Shuffling Elements of a Set

Java




// Java program to demonstrate the shuffling
// of a set
 
import java.util.*;
 
public class GFG {
    public static void main(String[] args)
    {
 
        // Creating a Hashset
        Set<Integer> st = new HashSet<>();
 
        // Inserting elements to the set
        st.add(91);
        st.add(0);
        st.add(55);
        st.add(10);
        st.add(9);
 
        // 9 won't be inserted to the Set as Hashset does
        // not take duplicate entries
        st.add(9);
 
        // Displaying the elements of the set
        System.out.print("The Set before shuffling: ");
       
        for (int i : st)
            System.out.print(i + " ");
       
        System.out.println();
 
        // Creating a List and storing the values of the
        // Set inside it by passing the Set as a parameter
        // to the constructor
        List<Integer> list = new ArrayList<>(st);
 
        // Shuffling the elements of the list using
        // Collections.shuffle() method
        Collections.shuffle(list);
 
        // Displaying the elements of the list
        System.out.print("The List (containing elements of the Set) after shuffling: ");
       
        for (int i : list)
            System.out.print(i + " ");
    }
}


Output

The Set before shuffling: 0 55 9 10 91 
The List (containing elements of the Set) after shuffling: 55 0 91 10 9 

2) Shuffling Elements of a Map

Java




// Java program to demonstrate the shuffling
// of a map
 
import java.util.*;
 
public class GFG {
    public static void main(String[] args)
    {
 
        // Creating a HashMap
        Map<Integer, String> mp
            = new HashMap<Integer, String>();
 
        // Inserting some values inside the HashMap
        mp.put(1, "Geeks");
        mp.put(2, "for");
        mp.put(3, "Geeks");
        mp.put(4, "is");
        mp.put(5, "love");
 
        // Displaying the map
        System.out.println("The Map before shuffling: ");
       
        for (Map.Entry<Integer, String> entry :mp.entrySet())
            System.out.println(entry.getKey() + " "
                               + entry.getValue());
       
        System.out.println();
 
        // Creating a list and storing the elements of the
        // Map inside of it
        List<Map.Entry<Integer, String> > list
            = new ArrayList<>(mp.entrySet());
 
        // Shuffling the list using shuffle() method
        Collections.shuffle(list);
 
        // Displaying the list
        System.out.println("The List (containing the elements of the Map)"
                           + " After shuffing: ");
       
        for (Map.Entry<Integer, String> entry : list)
            System.out.println(entry.getKey() + " "
                               + entry.getValue());
        System.out.println();
    }
}


Output

The Map before shuffling: 
1 Geeks
2 for
3 Geeks
4 is
5 love

The List (containing the elements of the Map) After shuffing: 
2 for
5 love
4 is
3 Geeks
1 Geeks


Last Updated : 29 Jun, 2022
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads