Comparator in java

Previous
Next

In this post, we will see how you can use comparator to sort list of objects in java.

Comparator:

When you want to sort the list of objects of a class,you can use Comparator interface. You don’t need to implement Comparator on the class whose objects need to be sorted. You can create a separate class and implement a Comparator interface as below.

For example:

You can use different sorting logic based on different attributes of object that needs to be sorted.

For example:
Let’s say you want to sort list of employees by name,you can use below ocde to do that.

Java code for Comparator:

Create a class named Employee.java which will have empId, name and age.

1.Employee.java

Create a class named “EmployeeSortByIdComparator”. This class will have logic to sort list of Employees by empId.
2.EmployeeSortByIdComparator.java

Let’s create main class which will have logic to create a list of objects and sort it based on empId.

3.EmployeeComparatorMain.java

Output:

Anonymous Comparator:

One of advantage of Comparator over comparable is you can create anonymous comparator i.e you don’t need to implement Comparable interface to class whose objects need to be sorted.
Let’s understand more with help of example:
We will use an anonymous class to sort the list of Employees by name.

ComparatorMain.java

Output:

As you can see here, we used an anonymous comparator to sort the list of employees by name. We did not create comparator specific class here.
that’s all about Comparator in Java.

You may also like:

Previous
Next

Join Our News Letter - Stay Updated

Subscribe to Awesome Java Content.

Add Comment

Join Our News Letter - Stay Updated

Subscribe to Awesome Java Content.
You can like our facebook page Java2blog