How to reverse elements in ArrayList

Reverse elements in ArrayList
Here i will discuss about reversing elements in a List. The method used here works for all implementations of the java.util.List which include ArrayList, LinkedList and Vector classes. There is no logic that we need to write to reverse the elements. The method reverse(List) has done everything for us and we are just a method call away from it. Simple is that. This method is present in the java.util.Collections class and is available as static which means that it can be accessed without the need of creating an object. The order of the elements in the list is reversed. Here is a tiny example that illustrates this.


import java.util.*;
class ReverseList
{
    public static void main(String args[])
    {

    // Create an ArrayList containing String type elements

    ArrayList<String> aList=new ArrayList<String>();


    // Add elements to the ArrayList aList   

    aList.add("Gowtham");
    aList.add("Gutha's");
    aList.add("java");
    aList.add("-");
    aList.add("demos");
    aList.add(".");
    aList.add("blogspot");
    aList.add(".");
    aList.add("com");

    // Store the size of aList
    // This avoids repeated calling of method in loops

    int size=aList.size();

    // Print elements before reversing


    System.out.println("\nElements before reversing");
   
    System.out.println("--------------------");


        for(int i=0;i<size;i++)
        {
        System.out.println(aList.get(i));
        }   


   
    // Reverse the elements in ArrayList

    Collections.reverse(aList);


    // Print the reversed elements

    System.out.println("\nElements in reversed order");

    System.out.println("--------------------");


        for(int i=0;i<size;i++)
        {
        System.out.println(aList.get(i));
        }   


    }
}

Output of the program



Elements before reversing
--------------------
Gowtham
Gutha's
java
-
demos
.
blogspot
.
com

Elements in reversed order
--------------------
com
.
blogspot
.
demos
-
java
Gutha's
Gowtham

Explaining the program

There is nothing in fact to explain in the program except the method which does it all. The java.util.Collections.sort(List l) method takes in a java.util.List object (i.e. object of any of it's implementing classes) and sorts it. In a similar way you can do it for LinkedList and Vector also. Just Replace All ArrayList with LinkedList (for LinkedList) and with Vector (for Vector), Stack. That's it.

Also see my post on sorting elements in a ArrayList, LinkedList and Vector


Posted by at on

Tags: Collections Framework, Java Utilities,