Sort keys in treemap by using comparator

Example

package com.w3spoint;
 
import java.util.Comparator;
import java.util.TreeMap;
 
class Employee{    
    private String name;
    private int salary;
    private int id;
 
    public Employee(int id, String name, int salary){
    	this.id = id;
        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 int getId() {
	return id;
    }
    public void setId(int id) {
	this.id = id;
    }
    public String toString(){
        return "Id: "+this.id+", Name: "+this.name+", Salary: "+this.salary;
    }
}
 
class EmployeeComp implements Comparator<Employee>{	 
    @Override
    public int compare(Employee e1, Employee e2) {
        if(e1.getId() == e2.getId()){
            return 0;
        } if(e1.getId() < e2.getId()){
            return 1;
        } else {
            return -1;
        }
    }
}
 
public class Test {
	public static void main(String args[]){
		TreeMap<Employee, String> treeMap = new TreeMap<Employee, String>(new EmployeeComp());
		treeMap.put(new Employee(1,"Jai",50000), "JAI");
		treeMap.put(new Employee(2,"Mahesh",80000), "MAHESH");
		treeMap.put(new Employee(3,"Vishal",60000), "VISHAL");
		treeMap.put(new Employee(4,"Hemant",64000), "HEMANT");
		System.out.println(treeMap);
	}
}

Output

{Id: 4, Name: Hemant, Salary: 64000=HEMANT, Id: 3, 
Name: Vishal, Salary: 60000=VISHAL, Id: 2, Name: Mahesh, 
Salary: 80000=MAHESH, Id: 1, Name: Jai, Salary: 50000=JAI}
Please follow and like us:
Content Protection by DMCA.com