Collections framework provide Collections.sort(List) method which sort String elements in natural or chronological order or ascending order.
For descending order use Collections.reverse(List) method to reverse order of complete list elements.
Related Topics:
How to Sort By Comparable Interface in Ascending and Descending Order : Java
How to sort object by Comparator interface in ascending and descending order : JAVA
Java : Comparable Vs Comparator
Points to Remember:
- Below are classes implements Comparable interface which provide a natural ordering for a class sorted automatically.
- If sorting a list of the elements which do not implement Comparable , Collections.sort(list) method will throw ClassCastException. Similarly, Collections.sort(list, comparator ) will throw ClassCastException if you try to sort a list whose elements cannot be compared to another using Comparator.
Class | Natural Ordering |
---|---|
Byte |
Signed numerical |
Character |
Unsigned numerical |
Long |
Signed numerical |
Integer |
Signed numerical |
Short |
Signed numerical |
Double |
Signed numerical |
Float |
Signed numerical |
BigInteger |
Signed numerical |
BigDecimal |
Signed numerical |
Boolean |
Boolean.FALSE < Boolean.TRUE |
File |
System-dependent lexicographic on path name |
String |
Lexicographic |
Date |
Chronological |
CollationKey |
Locale-specific lexicographic |
Example :
In below example sorting list of names in ascending order by Collections.sort(list). As shown above String Class by default having Comparable interface which will sort elements in Ascending or Chronological order.
For Descending order used Collections.reverse(List) reverse method which will reverse list of sorted list.
package sorting; import java.util.Arrays; import java.util.Collections; import java.util.List; public class SortData { public static void main(String[] args) { String [] empArr={"Saurabh","Gaurav","Shailesh","Ankur","Ranjith","Ramesh"}; //Convert Array to LIst List empList=Arrays.asList(empArr); //Print Assigned Values Before Sort; System.out.println("********Print Employee List Before Sort********"); printArrayList(empList); //Sort List in Ascending order by collections api Collections.sort(empList); System.out.println("\n********Print Employee List in Ascending Order********"); printArrayList(empList); //Sort List in Descending order by collections api Collections.reverse(empList); System.out.println("\n********Print Employee List in Descending Order********"); printArrayList(empList); } private static void printArrayList(List empList) { for(String emp:empList) { System.out.println(emp); } } }
Output:
********Print Employee List Before Sort******** Saurabh Gaurav Shailesh Ankur Ranjith Ramesh ********Print Employee List in Ascending Order******** Ankur Gaurav Ramesh Ranjith Saurabh Shailesh ********Print Employee List in Descending Order******** Shailesh Saurabh Ranjith Ramesh Gaurav Ankur
Reference :
https://docs.oracle.com/javase/tutorial/collections/interfaces/order.html
3 thoughts on “Sort ArrayList in Ascending or Descending Order or Natural or Chronological Order”
You must log in to post a comment.