Java: Shuffle a given array of integers
60. Shuffle a given array of integers
Write a Java program to shuffle a given array of integers.
Example:
Input :
nums = { 1, 2, 3, 4, 5, 6 }
Output:
Shuffle Array: [4, 2, 6, 5, 1, 3]
Sample Solution:
Java Code:
// Import necessary Java classes.
import java.util.Arrays;
import java.util.Random;
// Define a class named 'solution'.
class solution
{
// A method to shuffle an array using the Fisher-Yates algorithm.
public static void shuffle(int nums[])
{
for (int i = nums.length - 1; i >= 1; i--)
{
// Create a random number generator.
Random rand = new Random();
// Generate a random index j between 0 and i (inclusive).
int j = rand.nextInt(i + 1);
// Swap elements at indices i and j.
swap_elements(nums, i, j);
}
}
// A method to swap two elements in an array.
private static void swap_elements(int[] nums, int i, int j) {
int temp = nums[i];
nums[i] = nums[j];
nums[j] = temp;
}
public static void main (String[] args)
{
int[] nums = { 1, 2, 3, 4, 5, 6 };
System.out.println("Original Array: "+Arrays.toString(nums));
// Shuffle the array using the Fisher-Yates algorithm.
shuffle(nums);
System.out.println("Shuffled Array: "+Arrays.toString(nums));
}
}
Sample Output:
Original Array: [1, 2, 3, 4, 5, 6] Shuffle Array: [4, 2, 6, 5, 1, 3]
Flowchart:

For more Practice: Solve these Related Problems:
- Write a Java program to shuffle an array while ensuring no element remains in its original position.
- Write a Java program to randomly select a subset of k elements from an array of size n.
- Write a Java program to check if a given shuffled array is a valid permutation of another array.
- Write a Java program to shuffle an array using the Fisher-Yates algorithm.
Go to:
PREV : Find maximum product of two integers in an array.
NEXT : Rearrange array with every second element greater.
Java Code Editor:
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.