Skip to content
Related Articles

Related Articles

Shuffle or Randomize a list in Java

View Discussion
Improve Article
Save Article
  • Difficulty Level : Basic
  • Last Updated : 09 Sep, 2021
View Discussion
Improve Article
Save Article
javautilCollections

Syntax: 

Collections.shuffle(list);

Examples: 

Java




// Java program to demonstrate working of shuffle()
import java.util.*;
 
public class GFG {
    public static void main(String[] args)
    {
        ArrayList<String> mylist = new ArrayList<String>();
        mylist.add("ide");
        mylist.add("quiz");
        mylist.add("geeksforgeeks");
        mylist.add("quiz");
        mylist.add("practice");
        mylist.add("qa");
 
        System.out.println("Original List : \n" + mylist);
 
        Collections.shuffle(mylist);
 
        System.out.println("\nShuffled List : \n" + mylist);
    }
}

Output: 

Original List : 
[ide, quiz, geeksforgeeks, quiz, practice, qa]

Shuffled List : 
[ide, practice, quiz, qa, geeksforgeeks, quiz]

 

  • Shuffling a list using user provided Random Object 
    Syntax:
Collections.shuffle(list, Random object);

Examples: 

Java




// Java program to demonstrate working of shuffle()
// with user provided source of randomness.
import java.util.*;
 
public class GFG {
    public static void main(String[] args)
    {
        ArrayList<String> mylist = new ArrayList<String>();
        mylist.add("ide");
        mylist.add("quiz");
        mylist.add("geeksforgeeks");
        mylist.add("quiz");
        mylist.add("practice");
        mylist.add("qa");
 
        System.out.println("Original List : \n" + mylist);
 
        // Here we use Random() to shuffle given list.
        Collections.shuffle(mylist, new Random());
        System.out.println("\nShuffled List with Random() : \n"
                           + mylist);
 
        // Here we use Random(3) to shuffle given list. Here 3
        // is seed value for Random.
        Collections.shuffle(mylist, new Random(3));
        System.out.println("\nShuffled List with Random(3) : \n"
                           + mylist);
 
        // Here we use Random(5) to shuffle given list.  Here 5
        // is seed value for Random.
        Collections.shuffle(mylist, new Random(5));
        System.out.println("\nShuffled List with Random(5) : \n"
                           + mylist);
    }
}

Output: 

Original List : 
[ide, quiz, geeksforgeeks, quiz, practice, qa]

Shuffled List with Random() : 
[geeksforgeeks, practice, qa, ide, quiz, quiz]

Shuffled List with Random(3) : 
[quiz, ide, practice, quiz, geeksforgeeks, qa]

Shuffled List with Random(5) : 
[ide, quiz, geeksforgeeks, quiz, practice, qa]

 

Java




// Java Program to shuffle a given array
import java.util.Random;
import java.util.Arrays;
public class ShuffleRand
{
    // A Function to generate a random permutation of arr[]
    static void randomize( int arr[], int n)
    {
        // Creating a object for Random class
        Random r = new Random();
          
        // Start from the last element and swap one by one. We don't
        // need to run for the first element that's why i > 0
        for (int i = n-1; i > 0; i--) {
              
            // Pick a random index from 0 to i
            int j = r.nextInt(i);
              
            // Swap arr[i] with the element at random index
            int temp = arr[i];
            arr[i] = arr[j];
            arr[j] = temp;
        }
 
        // Prints the random array
        System.out.println(Arrays.toString(arr));
    }
      
    // Driver Program to test above function
    public static void main(String[] args)
    {        
         int[] arr = {1, 2, 3, 4, 5, 6, 7, 8};
         int n = arr.length;
         randomize (arr, n);
    }
}

Output: 

[5, 7, 1, 3, 6, 8, 4, 2]

 


My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!