top of page
Search

Collections.reverseOrder() in Java with Examples

  • Writer: Abhinaw Tripathi
    Abhinaw Tripathi
  • May 16, 2017
  • 2 min read

Collections.reverseOrder() in Java with Examples

java.util.Collections.reverseOrder() method is a java.util.Collections class method.

// Returns a comparator that imposes the reverse of

// the natural ordering on a collection of objects

// that implement the Comparable interface.

// The natural ordering is the ordering imposed by

// the objects' own compareTo method

public static Comparator reverseOrder()

We can the comparator returned by Collections.reverseOrder() to sort a list in descending order.

Sample Code:

import java.util.ArrayList;

import java.util.Collections;

/**

* @author Abhinaw.Tripathi

*

*/

public class ReverseOrderApp {

/**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

ArrayList<Integer> al = new ArrayList<Integer>();

al.add(30);

al.add(20);

al.add(10);

al.add(40);

al.add(50);

/* Collections.sort method is sorting the

elements of ArrayList in descending order. */

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

// Let us print the sorted list

System.out.println("List after the use of Collection.reverseOrder()"+

" and Collections.sort() :\n" + al);

}

}

Output:

List after the use of Collection.reverseOrder() and Collections.sort() :

[50, 40, 30, 20, 10]

We can use this method with Arrays.sort() also.

Sample Code:

import java.util.*;

public class Collectionsorting

{

public static void main(String[] args)

{

// Create an array to be sorted in descending order.

Integer [] arr = {30, 20, 40, 10};

/* Collections.sort method is sorting the

elements of arr[] in descending order. */

Arrays.sort(arr, Collections.reverseOrder());

// Let us print the sorted array

System.out.println("Array after the use of Collection.reverseOrder()"+

" and Arrays.sort() :\n" + Arrays.toString(arr));

}

}

Output:

Array after the use of Collection.reverseOrder() and Arrays.sort() :

[40, 30, 20, 10]

public static Comparator reverseOrder(Comparator c)

Sample Code:

It returns a Comparator that imposes reverse order of a passed Comparator object. We can use this method to sort a list in reverse order of user defined Comparator. For example, in the below program, we have created a reverse of user defined comparator to sort students in descending order of roll numbers.

// Java program to demonstrate working of

// reverseOrder(Comparator c) to sort students in descending

// order of roll numbers when there is a user defined comparator

// to do reverse.

import java.util.*;

import java.lang.*;

import java.io.*;

// A class to represent a student.

class Student

{

int rollno;

String name, address;

// Constructor

public Student(int rollno, String name,

String address)

{

this.rollno = rollno;

this.name = name;

this.address = address;

}

// Used to print student details in main()

public String toString()

{

return this.rollno + " " + this.name +

" " + this.address;

}

}

class Sortbyroll implements Comparator<Student>

{

// Used for sorting in ascending order of

// roll number

public int compare(Student a, Student b)

{

return a.rollno - b.rollno;

}

}

// Driver class

class Main

{

public static void main (String[] args)

{

ArrayList<Student> ar = new ArrayList<Student>();

ar.add(new Student(111, "bbbb", "london"));

ar.add(new Student(131, "aaaa", "nyc"));

ar.add(new Student(121, "cccc", "jaipur"));

System.out.println("Unsorted");

for (int i=0; i<ar.size(); i++)

System.out.println(ar.get(i));

// Sorting a list of students in descending order of

// roll numbers using a Comparator that is reverse of

// Sortbyroll()

Comparator c = Collections.reverseOrder(new Sortbyroll());

Collections.sort(ar, c);

System.out.println("\nSorted by rollno");

for (int i=0; i<ar.size(); i++)

System.out.println(ar.get(i));

}

}

Output :

Unsorted

111 bbbb london

131 aaaa nyc

121 cccc jaipur

Sorted by rollno

131 aaaa nyc

121 cccc jaipur

111 bbbb london


 
 
 

Recent Posts

See All

Comments


© 2016 by Abhinav Tripathi

  • Facebook Clean Grey
  • Twitter Clean Grey
bottom of page