There are two in-built methods to sort in Java.
- Arrays.Sort() works for arrays which can be of primitive data type also.
// A sample Java program to demonstrate working of// Arrays.sort().// It by default sorts in ascending order.importjava.util.Arrays;publicclassGFG {publicstaticvoidmain(String[] args){int[] arr = {13,7,6,45,21,9,101,102};Arrays.sort(arr);System.out.printf("Modified arr[] : %s",Arrays.toString(arr));}}chevron_rightfilter_noneOutput:
Modified arr[] : [6, 7, 9, 13, 21, 45, 101, 102]
- Collections.sort() works for objects Collections like ArrayList and LinkedList.
// Java program to demonstrate working of Collections.sort()importjava.util.*;publicclassGFG {publicstaticvoidmain(String[] args){// Create a list of stringsArrayList<String> al =newArrayList<String>();al.add("Geeks For Geeks");al.add("Friends");al.add("Dear");al.add("Is");al.add("Superb");/* Collections.sort method is sorting theelements of ArrayList in ascending order. */Collections.sort(al);// Let us print the sorted listSystem.out.println("List after the use of"+" Collection.sort() :\n"+ al);}}chevron_rightfilter_none
Output:
List after the use of Collection.sort() : [Dear, Friends, Geeks For Geeks, Is, Superb]
- Which sorting algorithm does Java use in sort()?
Previously, Java’s Arrays.sort method used Quicksort for arrays of primitives and Merge sort for arrays of objects. In the latest versions of Java, Arrays.sort method and Collection.sort() uses Timsort. - Which order of sorting is done by default?
It by default sorts in ascending order. - How to sort array or list in descending order?
It can be done with the help of Collections.reverseOrder().Example:
- For Arrays.sort()
// A sample Java program to sort an array// in descending order using Arrays.sort().importjava.util.Arrays;importjava.util.Collections;publicclassGFG {publicstaticvoidmain(String[] args){// Note that we have Integer here instead of// int[] as Collections.reverseOrder doesn't// work for primitive types.Integer[] arr = {13,7,6,45,21,9,2,100};// Sorts arr[] in descending orderArrays.sort(arr, Collections.reverseOrder());System.out.printf("Modified arr[] : %s",Arrays.toString(arr));}}chevron_rightfilter_noneOutput:
Modified arr[] : [100, 45, 21, 13, 9, 7, 6, 2]
- For Collections.sort()
// Java program to demonstrate working of Collections.sort()// to descending order.importjava.util.*;publicclassGFG {publicstaticvoidmain(String[] args){// Create a list of stringsArrayList<String> al =newArrayList<String>();al.add("Geeks For Geeks");al.add("Friends");al.add("Dear");al.add("Is");al.add("Superb");/* Collections.sort method is sorting theelements of ArrayList in ascending order. */Collections.sort(al, Collections.reverseOrder());// Let us print the sorted listSystem.out.println("List after the use of"+" Collection.sort() :\n"+ al);}}chevron_rightfilter_noneOutput:
List after the use of Collection.sort() : [Superb, Is, Geeks For Geeks, Friends, Dear]
- For Arrays.sort()
- How to sort only a subarray?
Example:// A sample Java program to sort a subarray// using Arrays.sort().importjava.util.Arrays;publicclassGFG {publicstaticvoidmain(String[] args){// Our arr contains 8 elementsint[] arr = {13,7,6,45,21,9,2,100};// Sort subarray from index 1 to 4, i.e.,// only sort subarray {7, 6, 45, 21} and// keep other elements as it is.Arrays.sort(arr,1,5);System.out.printf("Modified arr[] : %s",Arrays.toString(arr));}}chevron_rightfilter_noneOutput:
Modified arr[] : [13, 6, 7, 21, 45, 9, 2, 100]
- How to write my own sorting function in Java?
Please see Java programs for Quick Sort, Merge Sort, Insertion Sort, Selection Sort, Heap Sort, Bubble Sort
How to sort objects of user defined data type?
Please refer Arrays.sort() in Java and Collections.sort() in Java for examples.
Attention reader! Don’t stop learning now. Get hold of all the important Java and Collections concepts with the Fundamentals of Java and Java Collections Course at a student-friendly price and become industry ready.
Recommended Posts:
- Know Your Sorting Algorithm | Set 1 (Sorting Weapons used by Programming Languages)
- Know Your Sorting Algorithm | Set 2 (Introsort- C++’s Sorting Weapon)
- Sorting objects using In-Place sorting algorithm
- Sorting a HashMap according to keys in Java
- Sorting collection of String and StringBuffer in Java
- Java Program for Pancake sorting
- Sorting a 2D Array according to values in any given column in Java
- Java Program for Topological Sorting
- Find the Minimum length Unsorted Subarray, sorting which makes the complete array sorted
- Stability in sorting algorithms
- Which sorting algorithm makes minimum number of memory writes?
- Lower bound for comparison based sorting algorithms
- A Pancake Sorting Problem
- External Sorting
- Cartesian Tree Sorting
- Sorting 2D Vector in C++ | Set 2 (In descending order by row and column)
- Sleep Sort – The King of Laziness / Sorting while Sleeping
- Sorting Vector of Pairs in C++ | Set 1 (Sort by first and second)
- Sorting Vector of Pairs in C++ | Set 2 (Sort in descending order by first and second)
- Sorting 2D Vector in C++ | Set 3 (By number of columns)
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.
Improved By : samyanib

