Skip to Main Content

Java Programming

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

how java Comparator is used ?

user575089Jul 4 2011 — edited Jul 5 2011
Here is a compare method of a Comparator
class AgeComparator implements Comparator{
   
    public int compare(Object emp1, Object emp2){
   
        /*
         * parameter are of type Object, so we have to downcast it
         * to Employee objects
         */
       
        int emp1Age = ((Employee)emp1).getAge();        
        int emp2Age = ((Employee)emp2).getAge();
       
        if(emp1Age > emp2Age)
            return 1;
        else if(emp1Age < emp2Age)
            return -1;
        else
            return 0;    
    }
   
}
Question: How does these return makes a list in ascending / descending order ?


We use the above comparator this way.
        //Employee array which will hold employees
        Employee employee[] = new Employee[2];
       
        //set different attributes of the individual employee.
        employee[0] = new Employee();
        employee[0].setAge(40);
        employee[0].setName("Joe");
       
        employee[1] = new Employee();
        employee[1].setAge(20);
        employee[1].setName("Mark");
      
       
        //Sorting array on the basis of employee age by passing AgeComparator
        Arrays.sort(employee, new AgeComparator());
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Aug 2 2011
Added on Jul 4 2011
6 comments
406 views