Get Even More Visitors To Your Blog, Upgrade To A Business Listing >>

Java Tutorial:Sorting list using Comparator


In this java tutorial we are going to understand the sorting of a List with the help of Comparator interface.

So we will use sort(arrayToSort,Comparator) of Collections and Arrays to sort the list.Now we have to create a class which implements the comparator interface but before that we should have the class for which sorting is done.So lets create that first.

package com.techy.rajeev;

public class Employee{
private String ename;
private int eid;
private double salary;

public String getEname() {
return ename;
}

public Employee(String ename, int eid, double salary) {
super();
this.ename = ename;
this.eid = eid;
this.salary = salary;
}

public void setEname(String ename) {
this.ename = ename;
}

public int getEid() {
return eid;
}

public void setEid(int eid) {
this.eid = eid;
}

public double getSalary() {
return salary;
}

public void setSalary(double salary) {
this.salary = salary;
}

@Override
public String toString() {
return "Employee [ename=" + ename + ", eid=" + eid + ", salary="
+ salary + "]";
}

}


Now lets create the Sorter class.


package com.techy.rajeev;

import java.util.Comparator;

public class SortByName implements Comparator<Employee> {

@Override
public int compare(Employee o1, Employee o2) {
return o1.getEname().compareTo(o2.getEname());
}

}


Now lets do the sorting


package com.techy.rajeev;

import java.util.*;

public class TestSorting {
public static void main(String[] args) {
ArrayList<Employee>al=new ArrayList<Employee>();
al.add(new Employee("Anonymous",1,12345.00));
al.add(new Employee("Hacker",2,32423));
al.add(new Employee("Cba",3,23434));
System.out.println("Before:"+al);
SortByName sbn=new SortByName();
Collections.sort(al,sbn);//passing the sorter to sort
System.out.println("After:"+al);

}

}

Output:

Before:[Employee [ename=Anonymous, eid=1, salary=12345.0], Employee [ename=Hacker, eid=2, salary=32423.0], Employee [ename=Cba, eid=3, salary=23434.0]]

After:[Employee [ename=Anonymous, eid=1, salary=12345.0], Employee [ename=Cba, eid=3, salary=23434.0], Employee [ename=Hacker, eid=2, salary=32423.0]]

Now I hope you know how to sort the list using comparator.Keep reading.


This post first appeared on TechSoftEng, please read the originial post: here

Share the post

Java Tutorial:Sorting list using Comparator

×

Subscribe to Techsofteng

Get updates delivered right to your inbox!

Thank you for your subscription

×