Updated April 7, 2023
Introduction to Java Collection Sort
In Java, to sort the collections there is a class known as java. util.collection within which it provides a function sort() which is used for sorting the given list or collections that is declared or specified as array or list in the java program. In general, the java collection sort is defined as a utility class within the java programming language that provides java. util. collection class that offers the static method called sort() ( java.util.collection.sort() ) for sorting the given collections by default it will arrange the unsorted array or list in ascending order or natural ordering but to sort the given collections in descending order there is another function in collections utility class collection.reverseOrder().
Syntax:
import java.util.collections;
Collections.sort( names_of_elements or list or array )
The above syntax will work only when the java. util. collections class is imported in the java program and the above syntax works to sort the given collections such as lists, arrays, set, etc in ascending order or natural order. To sort the given collections in reverse order or descending order there is different syntax within the same class as shown below:
Collections.sort( names_of_elements or list or array, Collections.reverseOrder() );
The parameters for the above syntaxes are:
- Names_of_elements or lists or array: this parameter indicates the collections name specified within this argument in this the collections can be any such as lists of elements with names or array of names, set of names, etc.
- Collection.reverseOrder(): In the syntax for sorting in descending order we have to specify Collection.reverseOrder() function as the second argument after specifying the first argument as any lists of names or array of names or set of names, etc.
How Collection.sort() function works in Java?
In Java, the collections are nothing but which contains set of elements such as a set of names or lists or array, etc. Therefore to sort such collections there is a sort() function which is offered by java. util. collections class where this sort function is imported by this function in the java program then we can use this in the program. Firstly, we define an array of names or a list of names to sort the elements or names using this collection.sort() function. The list or array name is specified within the function as an argument that needs to be sorted. By default this function sorts in ascending order to sort in descending order we need to specify collections.reverseOrder() as the second argument after the name of list or array is specified within the function.
Now let us see the example below how to use the sort() function to sort the array and list of names in the below Java program.
Example #1
Code:
import java.util.*;
public class Collectionsorting
{
public static void main(String[] args)
{
ArrayList<String> coll1 = new ArrayList<String>();
coll1.add(" Delhi ");
coll1.add(" Pune ");
coll1.add(" Assam ");
coll1.add(" Bangalore ");
coll1.add(" Harayana ");
coll1.add(" Bihar ");
List<String> names = Arrays.asList("Python", "Java", "Perl", "Ruby", "Fortan");
System.out.println( "Demonstration of collection sort in Java using Collections.sort() fucntion ");
System.out.println("\n");
System. out.println(" The given collection of list of names of places is as follows: ");
System.out.println(names);
Collections.sort(names);
System.out.println("List of names after the use of" +
" Collection.sort() :\n" + names);
System.out.println("\n");
System. out.println(" The given collection of an array of names of places is as follows: ");
System.out.println(coll1);
Collections.sort(coll1);
System.out.println("Array after the use of" +
" Collection.sort() :\n" + coll1);
}
}
Output:
In the above example, we can see first we have imported Java. util. collections class or we can also import just as java. util* which indicates all the classes belonging to the util can be imported. Then in the main class first we have declared an array then we have inserted each element or name using add() function and we have also declared a list using directly Arrays. list() and all the names are declared within double quotes and are separated by a comma. Then we display all the names as declared using the system. println and then we declared Collections. sort(names) and Collections. sort(coll1) to sort the names specified within lists and arrays in ascending order. The output of the above program can be seen in the above screenshot.
Now let us see another example where we are using Collections. sort() for both ascending and descending order.
Example #2
Code:
import java.util.*;
public class Collectionsorting
{
public static void main(String[] args)
{
ArrayList<String> coll1 = new ArrayList<String>();
coll1.add(" Delhi ");
coll1.add(" Pune ");
coll1.add(" Bihar ");
coll1.add(" Bangalore ");
coll1.add(" Assam ");
coll1.add(" Gujrat ");
System.out.println(" Demonstration of Collections.sort() for sorting the given collections in descending order: ");
System.out.println("\n");
System.out.println(" The given array of names is as follows: ");
System.out.println(coll1);
System.out.println("\n");
Collections.sort(coll1);
System.out.println(" The given array is sorted in ascending order as follows: ");
System.out.println(coll1);
System.out.println("\n");
Collections.sort(coll1, Collections.reverseOrder());
System.out.println("The given array is sorted in descending order is as follows: " +
" Collection.sort() :\n" + coll1);
}
}
Output:
In the above example, we can see it is similar to the previous example, where we have first imported the utility class for using collections class to provide sort() function. Then we have declared an array of names where we have added each element and then we have displayed this array of names using the system. println() then we have declared Collections. sort(coll1) to sort the given array “coll1” in ascending order then to display in descending order we have declared Collections.sort(coll1, Collections.reverseOrder()) to display the names in descending order. In this example, the names displaying ascending order mean displaying names in alphabetical order, and descending means displaying names in reverse order of the ascending order. The output of the above example is as shown in the above screenshot.
Conclusion
In this article, we conclude that the collections are a class defined within the utility class which is imported to use Collections.sort() function in the Java program. In this article, it depends on the user whether they want to display the details in natural order or reverse order. And the collections can be any such as strings, number sets, etc to sort the array in any particular order but here only we can sort either in ascending or descending order which is easily done using this sort() function offered by collections class.
Recommended Articles
This is a guide to Java Collection Sort. Here we discuss Introduction, parameters, syntax, How Collection. sort() function works in Java, examples with code implementation. You may also have a look at the following articles to learn more –