Kamis, 07 Agustus 2014

How to Sort List in reverse Order in Java Collection Framework with Example



Java Collection Framework provides a convenient reverse comparator, to
sort List of objects in reverse order.  You can obtain reverse
Comparator, by
calling
Collections.reverseOrder(), which by
default sort
List of Integer in reverse
numeric order and List of
String in reverse alphabetic order. It
actually reverse natural ordering of objects imposed by
Comparable interface. Apart from this method, Collections class also
provides an overloaded method
Collections.reverseOrder(Comparator
cmp)
, which takes a Comparator,
and sort List on reverse order of that Comparator. So next time if you need to sort
your Collection in reverse order, you don’t need to write any extra comparator
by yourself, you can directly leverage reverse comparator provided by
java.util.Collections class. It is as simple as calling Collections.sort() method providing comparator wrapped into Collections.reverseOrder() method. By
using these two methods, you can sort any
List
implementation e.g. ArrayList,
LinkedList
or Vector
in Java.








Java Program to sort ArrayList in reverse Order



Java program to sort List in reverse orderHere is complete code for sorting List in reverse order in Java. In this
program we have two list
, List and List<String> and we are
sorting them first in natural order and than in there reverse order by using
Collections.reverseOrder() method.






import java.util.ArrayList;


import java.util.Arrays;


import java.util.Collections;


import java.util.List;


import org.slf4j.Logger;


import org.slf4j.LoggerFactory;





/**


  * Java Program to sort List of object in
reverse order. We will see examples of


  * sorting Array List in reverse order of both
default ordering as well as any


  * custom ordering imposed by Compartor.


  *


  * @author Javin Paul


  */


public class CollectionSorting
{


 


   
private static final
Logger logger = LoggerFactory.getLogger(CollectionSorting.class);


  


   
public static void
main(String args[]) {


      


        // Creating
and initializing Collection to sort in reverse order


        // Integer
will be sorted in reverse numeric order


        List collection = new ArrayList();


        collection.add(101);


        collection.add(201);


        collection.add(105);


        collection.add(302);


      


        logger.debug("Current order in Collection :
"
+ collection);


      


        // Sorting
Collection in reverse order


        Collections.sort(collection,
Collections.reverseOrder());


      


        logger.debug("Sorted on Reverse order in
Collection : {}"
, collection);


      


        // Sorting
List of String in reverse Order


        List alphabets = Arrays.asList("A",
"B", "C", "D");


      


        logger.debug("Current order in List of String
: {}"
, alphabets);


      


        // Sorting
List in reverse Order


        Collections.sort(alphabets,
Collections.reverseOrder());


      


        logger.debug("List of String sorted in reverse
order {}"
, alphabets);


   
}


 


}





Output


 [main] DEBUG CollectionSorting  - Current order in Collection : [101, 201,
105, 302]


 [main] DEBUG CollectionSorting  - Sorted on Reverse order in Collection : [302, 201,
105, 101]





[main] DEBUG CollectionSorting  - Current order in List of String : [A, B, C,
D]


[main] DEBUG CollectionSorting  - List of String sorted in reverse order [D,
C, B, A]






That's all on How to sort List of Strings or Integers in to revrese
order
. You can also use same technique to sort any List into reverse order
of there natural ordering or custom ordering imposed by any Comparator in Java.



























Source:http://javarevisited.blogspot.com/2013/08/how-to-sort-list-in-reverse-order-in-java-collection-example.html

Tidak ada komentar:

Posting Komentar