Wednesday, July 8, 2015

TreeMap: Explicitly overriding equals along with the Comparable Interface

package com.collections;


import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.TreeMap;

public class TreeMapHashCodeSample {
public static void main(String args[]) {
Employee1 emp1 = new Employee1("first", 120);
// Employee1 emp2 = new Employee1("firs11t", 120);
Employee1 emp2 = emp1;
TreeMap<String,Employee1> mp = new TreeMap<String,Employee1>();
mp.put("akkhil",emp1);
mp.put("gupta",emp2);
System.out.println("  Are  employees equal :  "
+ mp.get("akkhil").equals(mp.get("gupta")));
}
}



class Employee1 implements Comparable<Employee1>{
String name;
int score;
public Employee1(String name, int score) {
this.name = name;
this.score = score;
}
public boolean equals(Object o) {
return this.name == ((Employee1) o).name;
}
/*public int hashCode() {
return score;
}*/


/*public int compareTo(Employee1 o) {
 if(equals(o))
 return 1;
 return 0;
}*/


public int compareTo(Employee1 o) {
return  o.score - this.score;
}



}


No comments:

Post a Comment