HashMap code -
    public class HashMapTest {
    public static void main(String[] args) {
    Employee e1 = new Employee("1", "Bob", "Dao");
    Employee e2 = new Employee("1", "Sam", "Thompson");
    Map<Employee, Employee> map = new HashMap<Employee, Employee>();
    map.put(e1, e1);
    map.put(e2, e2);
    Set<Employee> set = map.keySet();
    for(Employee emp : set)
    {
        System.out.println("Hash Map - Set is : "+emp.getEmpLastName());
    }
    }
    }
Employee.java - overrided equals & hashCode function
    @Override
    public boolean equals(Object obj) {
    if(obj==null)
        return false;
    Employee e = (Employee)obj;
    if(this.employeeId==e.employeeId)
        return true;
    return false;
    }
    @Override
    public int hashCode() {
    return 12 + employeeId.hashCode();
    }
It's not replacing entry in hashmap. In system.out am getting "Dao" but expecting "Thompson".
