The Collections.shuffle method is defined in Java’s built-in java.util.Collections
class. As its name suggests, the method shuffles the elements of a given list by randomly permuting them.
The following code snippet creates a list of strings and then shuffles them randomly using Collections.shuffle
:
import java.util.*; class Program { public static void main( String args[] ) { List<String> myList = new ArrayList<String>(); myList.add("Hippo"); myList.add("Panda"); myList.add("Brown Bear"); myList.add("Koala"); myList.add("Polar Bear"); System.out.println("Original list: " + myList); // Randomly shuffle the list. Collections.shuffle(myList); System.out.println("List after shuffle: " + myList); } }
One can also define the degree of randomness with which the elements are shuffled. This can be used to make shuffling a deterministic process (if that is a requirement for the program). Hence, when the degree of randomness is defined, shuffling with a fixed random seed will always produce the same random order for a particular list. The following code snippet demonstrates the usage of shuffling with a specific degree of randomness:
import java.util.*; class Program { public static void main( String args[] ) { List<String> myList = new ArrayList<String>(); myList.add("Hippo"); myList.add("Panda"); myList.add("Brown Bear"); myList.add("Koala"); myList.add("Polar Bear"); myList.add("Elephant"); myList.add("Owl"); System.out.println("Original list: " + myList); // Randomly shuffle the list with a random number. Collections.shuffle(myList, new Random()); System.out.println("List after shuffle with Random(): " + myList); Collections.shuffle(myList, new Random(5)); System.out.println("List after shuffle with Random(5): " + myList); } }
RELATED TAGS
View all Courses