Wednesday, July 8, 2015

HashCode Equals Contract in HashMap

package com.collections;

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

class Employee {
String name;
int score;

public Employee(String name, int score) {
this.name = name;
this.score = score;
}
public boolean equals(Object o) {
return this.score == ((Employee) o).score;
}
public int hashCode() {
return score;
}
}

public class EqualsHashCodeExample {
public static void main(String args[]) {
Employee emp1 = new Employee("first", 120);
Employee emp2 = new Employee("Sec", 120);
Map<Employee, String> mp = new HashMap<Employee, String>();
mp.put(emp1, "akkhil");
mp.put(emp2, "gupta");
for (Map.Entry<Employee, String> m : mp.entrySet()) {
System.out.println("  fetch employee "
+ mp.get(emp1).equals(mp.get(emp2)));
}

}

}

No comments:

Post a Comment