Java – How to shuffle elements of ArrayList and Arrays ?

In this article, we will learn how to shuffle elements of ArrayList & Arrays using Collections class’ utility method – shuffle()

1. Shuffling elements of ArrayList :

Method signature:

public static void shuffle(List<Object> list);

ShuffleArrayList.java

package in.bench.resources.java.collections;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class ShuffleArrayList {

	public static void main(String[] args) {

		// 1. create List - to store Strings
		List<String> listOfStrings = new ArrayList<String>();


		// 2. adding elements to ArrayList object
		listOfStrings.add("Whatsup");
		listOfStrings.add("Facebook");
		listOfStrings.add("Orkut");
		listOfStrings.add("Instagram");
		listOfStrings.add("Google");


		// 2.1 print to console
		System.out.println("Original String List - before shuffling :- \n" 
				+ listOfStrings);


		// 3. shuffling ArrayList using Collections.shuffle(al)
		Collections.shuffle(listOfStrings);
		System.out.println("\nString List - after shuffling :- \n" 
				+ listOfStrings);


		// 4. Again, shuffling ArrayList using Collections.shuffle(al)
		Collections.shuffle(listOfStrings);
		System.out.print("\nString List - after shuffling twice :- \n"
				+ listOfStrings);
	}
}

Output:

Original String List - before shuffling :- 
[Whatsup, Facebook, Orkut, Instagram, Google]

String List - after shuffling :- 
[Google, Orkut, Whatsup, Instagram, Facebook]

String List - after shuffling twice :- 
[Orkut, Facebook, Instagram, Google, Whatsup]

Note: shuffling every time produces different order

2. Shuffling elements of Arrays :

ShuffleArrays.java

package in.bench.resources.java.collections;

import java.util.Arrays;
import java.util.Collections;
import java.util.List;

public class ShuffleArrays {

	public static void main(String[] args) {

		// 1. String[] Arrays
		String[] strArrays = {
				"Whatsup",
				"Facebook",
				"Orkut",
				"Instagram",
				"Google"
		};
		System.out.println("Original String[] Arrays - before shuffling :- \n" 
				+ Arrays.toString(strArrays));


		// 2. convert String[] Arrays to List
		List<String> listOfStrings = Arrays.asList(strArrays);


		// 3. shuffling Arrays using Collections.shuffle(al)
		Collections.shuffle(listOfStrings);
		System.out.println("\nString[] Arrays - after shuffling :- \n" 
				+ listOfStrings);


		// 4. Again, shuffling Arrays using Collections.shuffle(al)
		Collections.shuffle(listOfStrings);
		System.out.print("\nString[] Arrays - after shuffling twice :- \n" 
				+ listOfStrings);
	}
}

Output:

Original String[] Arrays - before shuffling :- 
[Whatsup, Facebook, Orkut, Instagram, Google]

String[] Arrays - after shuffling :- 
[Google, Orkut, Facebook, Instagram, Whatsup]

String[] Arrays - after shuffling twice :- 
[Google, Facebook, Whatsup, Instagram, Orkut]

Note: shuffling every time produces different order

Related Articles:

References:

Happy Coding !!
Happy Learning !!

Java - Arrays class with example
Java - How to copy elements of one ArrayList to another List ?