0
0
JavaHow-ToBeginner · 3 min read

How to Reverse Array in Java: Simple Syntax and Example

To reverse an array in Java, you can use a for loop to swap elements from the start and end moving towards the center. Alternatively, use Collections.reverse() on a list created from the array for a simpler approach.
📐

Syntax

To reverse an array manually, use a for loop to swap elements from the start and end indices until you reach the middle.

Alternatively, convert the array to a list and use Collections.reverse() to reverse it easily.

java
int[] arr = {1, 2, 3, 4, 5};

// Manual reverse using loop
for (int i = 0; i < arr.length / 2; i++) {
    int temp = arr[i];
    arr[i] = arr[arr.length - 1 - i];
    arr[arr.length - 1 - i] = temp;
}

// Using Collections.reverse on a list
Integer[] arrObj = {1, 2, 3, 4, 5};
List<Integer> list = Arrays.asList(arrObj);
Collections.reverse(list);
💻

Example

This example shows how to reverse an integer array manually by swapping elements and then prints the reversed array.

java
import java.util.Arrays;

public class ReverseArrayExample {
    public static void main(String[] args) {
        int[] numbers = {10, 20, 30, 40, 50};

        for (int i = 0; i < numbers.length / 2; i++) {
            int temp = numbers[i];
            numbers[i] = numbers[numbers.length - 1 - i];
            numbers[numbers.length - 1 - i] = temp;
        }

        System.out.println("Reversed array: " + Arrays.toString(numbers));
    }
}
Output
Reversed array: [50, 40, 30, 20, 10]
⚠️

Common Pitfalls

  • Trying to reverse the array without swapping elements causes no change.
  • Using a loop that goes beyond the middle index swaps elements back to original positions.
  • Using Collections.reverse() directly on primitive arrays like int[] is not possible; you must use wrapper classes like Integer[].
java
/* Wrong way: loop goes full length, reversing twice */
for (int i = 0; i < numbers.length; i++) {
    int temp = numbers[i];
    numbers[i] = numbers[numbers.length - 1 - i];
    numbers[numbers.length - 1 - i] = temp;
}

/* Right way: loop only to half length */
for (int i = 0; i < numbers.length / 2; i++) {
    int temp = numbers[i];
    numbers[i] = numbers[numbers.length - 1 - i];
    numbers[numbers.length - 1 - i] = temp;
}
📊

Quick Reference

Tips to reverse arrays in Java:

  • Use a for loop to swap elements from start and end.
  • Loop only until the middle index to avoid undoing swaps.
  • For object arrays, use Collections.reverse() after converting to a list.
  • Primitive arrays like int[] need manual reversal.

Key Takeaways

Reverse arrays by swapping elements from start and end using a loop up to the middle.
Do not loop through the entire array when swapping; only go halfway.
Use Collections.reverse() only on lists or object arrays, not on primitive arrays.
Manual reversal works for all array types and is simple to implement.