CodesJava

Easy learning with example program codes

how to sort linkedlist using comparator in java?


LinkedList:

The LinkedList class extends AbstractSequentialList and implements the List and Deque interface. It uses linked list data structure to store elements. It can contain duplicate elements. It is not synchronized.

Note: It not provides the random access facility.

We can use Collections.sort() method to sort linkedlist using comparator in java. We have to pass Comparator object in it.

Example:

package com.codesjava;
 
import java.util.Collections;
import java.util.Comparator;
import java.util.LinkedList;
 
class Employee{    
    private String name;
    private int salary;
 
    public Employee(String name, int salary){
        this.name = name;
        this.salary = salary;
    }
 
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getSalary() {
        return salary;
    }
    public void setSalary(int salary) {
        this.salary = salary;
    }
    public String toString(){
        return "Name: "+this.name+", Salary: "+this.salary;
    }
}
 
class SalaryComp implements Comparator<Employee>{	 
    @Override
    public int compare(Employee e1, Employee e2) {
        if(e1.getSalary() < e2.getSalary()){
            return 1;
        } else {
            return -1;
        }
    }
}
 
public class Test {
  public static void main(String args[]){
	LinkedList<Employee> list = new LinkedList<Employee>();
        list.add(new Employee("Jai",50000));
        list.add(new Employee("Mahesh",80000));
        list.add(new Employee("Vishal",60000));
        list.add(new Employee("Hemant",64000));
        Collections.sort(list,new SalaryComp());
        System.out.println("Sorted list entries: ");
        for(Employee e:list){
            System.out.println(e);
        }
  }
}

Output

Sorted list entries: 
Name: Mahesh, Salary: 80000
Name: Hemant, Salary: 64000
Name: Vishal, Salary: 60000
Name: Jai, Salary: 50000


Copyright © 2018 CodesJava DMCA.com Protection Status SiteMap