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 likeint[]is not possible; you must use wrapper classes likeInteger[].
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
forloop 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.