Reversing a list means after reversing the list, the first element should be swapped with the last element, the second element should be swapped with the second last element, and so on till the middle element and the resultant list is the reversed list.
Example:
Input:
"PLATFORM", "LEARNING", "BEST", "THE", "IS", "GFG"
Output:
Reverse order of given List :-
[GFG, IS, THE, BEST, LEARNING, PLATFORM]
We can mainly reverse the list by three ways:
- Recursively
- Using Collections.reverse()
- Using List.add() and List.remove methods
Method 1: Using Recursion
The process in which a function calls itself directly or indirectly is called recursion and the corresponding function is called as recursive function.
Java
import java.io.*;
import java.util.*;
class GFG {
public static <T> void revlist(List<T> list)
{
if (list.size() <= 1 || list == null )
return ;
T value = list.remove( 0 );
revlist(list);
list.add(value);
}
public static void main(String[] args)
{
System.out.println(
"Reverse order of given List :- " );
List<String> gfg = new ArrayList<>(
Arrays.asList( "PLATFORM" , "LEARNING" , "BEST" , "THE" , "IS" , "GFG" ));
revlist(gfg);
System.out.println(gfg);
}
}
|
Output
Reverse order of given List :-
[GFG, IS, THE, BEST, LEARNING, PLATFORM]
Time complexity: O(N) where N is size of list
Auxiliary space: O(N) for call stack
Method 2: Using Collections.reverse()
java.util.Collections.reverse() method is a java.util.Collections class method. It reverses the order of elements in a list passed as an argument.
Java
import java.io.*;
import java.util.*;
class GFG {
public static void main(String[] args)
{
List<Integer> number = new ArrayList<>(
Arrays.asList( 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 ));
System.out.println(
"Reverse order of given List :- " );
Collections.reverse(number);
System.out.println(number);
}
}
|
Output
Reverse order of given List :-
[8, 7, 6, 5, 4, 3, 2, 1]
Method 3: Using List.add() + List.remove()
The List.add() method of List interface is used to append the specified element in argument to the end of the list.
The List.remove() method of List interface is used to remove the specified element in argument from the list.
Java
import java.io.*;
import java.util.*;
class GFG {
public static void main(String[] args)
{
List<Integer> number = new ArrayList<>(
Arrays.asList( 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 ));
System.out.println(
"Reverse order of given List :- " );
for ( int k = 0 , j = number.size() - 1 ; k < j; k++)
{
number.add(k, number.remove(j));
}
System.out.println(number);
}
}
|
Output
Reverse order of given List :-
[8, 7, 6, 5, 4, 3, 2, 1]
Time Complexity: O(n)
Auxiliary Space: O(1)
Whether you're preparing for your first job interview or aiming to upskill in this ever-evolving tech landscape,
GeeksforGeeks Courses are your key to success. We provide top-quality content at affordable prices, all geared towards accelerating your growth in a time-bound manner. Join the millions we've already empowered, and we're here to do the same for you. Don't miss out -
check it out now!