Sorting ArrayList in Java is not difficult, by using Collections.sort() method you can
sort ArrayList in ascending and descending order in Java. Collections.sort() method optionally accept a Comparator and if provided it uses Comparator's compare method to compare Objects stored in Collection to compare with each other, in case of no explicit Comparator, Comparable interface's
compareTo() method is used to compare objects from each other. If object's stored in
ArrayList doesn't implements Comparable than they can not be sorted using Collections.sort() method in Java.
Sorting ArrayList in Java – Code Example

Here is a complete
code example of How to sort ArrayList in Java, In this Sorting we have used
Comparable method of String for sorting String on there natural order, You can also use
Comparator in place of Comparable to sort String on any other order than natural ordering e.g. in reverse order by using Collections.reverseOrder() or in case insensitive order by using String.CASE_INSENSITIVE_COMPARATOR.
import
java.util.ArrayList
;
import java.util.Collections ;
/**
*
* Java program to demonstrate How to sort ArrayList in Java in both ascending
* and descending order by using core Java libraries.
*
* @author Javin
*/
public class CollectionTest {
public staticvoid main( String args []) {
//Creating and populating ArrayList in Java for Sorting
ArrayList < String > unsortedList = new ArrayList < String > () ;
unsortedList. add ( "Java" ) ;
unsortedList. add ( "C++" ) ;
unsortedList. add ( "J2EE" ) ;
System. err. println ( "unsorted ArrayList in Java : " + unsortedList ) ;
//Sorting ArrayList in ascending Order in Java
Collections. sort (unsortedList ) ;
System. out. println ( "Sorted ArrayList in Java - Ascending order : " + unsortedList ) ;
//Sorting ArrayList in descending order in Java
Collections. sort (unsortedList, Collections. reverseOrder ()) ;
System. err. println ( "Sorted ArrayList in Java - Descending order : " + unsortedList ) ;
}
}
Output:
unsorted ArrayList in Java : [Java, C++, J2EE ]
Sorted ArrayList in Java - Ascending order : [C++, J2EE, Java ]
Sorted ArrayList in Java - Descending order : [Java, J2EE, C++ ]
import java.util.Collections ;
/**
*
* Java program to demonstrate How to sort ArrayList in Java in both ascending
* and descending order by using core Java libraries.
*
* @author Javin
*/
public class CollectionTest {
public staticvoid main( String args []) {
//Creating and populating ArrayList in Java for Sorting
ArrayList < String > unsortedList = new ArrayList < String > () ;
unsortedList. add ( "Java" ) ;
unsortedList. add ( "C++" ) ;
unsortedList. add ( "J2EE" ) ;
System. err. println ( "unsorted ArrayList in Java : " + unsortedList ) ;
//Sorting ArrayList in ascending Order in Java
Collections. sort (unsortedList ) ;
System. out. println ( "Sorted ArrayList in Java - Ascending order : " + unsortedList ) ;
//Sorting ArrayList in descending order in Java
Collections. sort (unsortedList, Collections. reverseOrder ()) ;
System. err. println ( "Sorted ArrayList in Java - Descending order : " + unsortedList ) ;
}
}
Output:
unsorted ArrayList in Java : [Java, C++, J2EE ]
Sorted ArrayList in Java - Ascending order : [C++, J2EE, Java ]
Sorted ArrayList in Java - Descending order : [Java, J2EE, C++ ]
That's all on
How to Sort ArrayList in Java on both ascending and descending order. Just remember that Collections.sort() will sort the ArrayList in ascending order and if you provide reverse comparator it will sort the ArrayList in descending order in Java.
Other
Java Collection tutorials: