다음 코드 샘플의 출력에 대한 이해와 확인하지 것은 :자바 HashMap의 반환 값은 등호 및 해시 코드
{1 - E = E2, 2 - E1 = E1}
package com.sid.practice;
import java.util.HashMap;
import java.util.Map;
public class InputOutputPractice
{
public InputOutputPractice()
{
}
public static void main(String[] args)
{
Employee e = new InputOutputPractice().new Employee(1, "e");
Employee e1 = new InputOutputPractice().new Employee(2, "e1");
Employee e2 = new InputOutputPractice().new Employee(1, "e2");
Map m = new HashMap();
m.put(e, "e");
m.put(e1, "e1");
m.put(e2, "e2");
System.out.println(m);
}
class Employee
{
public Employee(int id, String name)
{
this.id=id;
this.name = name;
}
private int id;
private String name;
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
public int getId()
{
return id;
}
public void setId(int id)
{
this.id = id;
}
@Override
public boolean equals(Object obj)
{
return ((Employee)obj).getId()==(this.getId());
}
@Override
public int hashCode()
{
return Integer.valueOf(getId()).hashCode();
}
@Override
public String toString()
{
return this.id + "--" + this.name;
}
}
}
오브젝트 e2
이 오브젝트 e
의 키를 겹쳐 쓸 수 있었지만 값은 이해하지 못했습니다. 나의 이해에서 출력이 있었어야 :
{1 - E2 = E2, 2 - E1 = E1}
전체 개체를 덮어 쓸 수 있다고 생각했습니다. – Sid