2016-12-23 2 views
0

나는 질문이있다. 우리가 커스텀 객체를 키로 전달해야한다면 equals와 hashcode 메소드를 오버라이드 할 필요가있다. 아니면 심지어 클래스가 불변이어야한다.해시 맵 키를 불변으로해야합니까?

문자열이 불변이므로 hashmap에서 키를 선호하므로이 논리를 가지고이 질문을 제기 했습니까?

+0

더 좋을 것입니다 –

+0

고마워요! @MauricePerry –

답변

1

해싱 기능에 따라 다릅니다.

해시 된 모든 데이터 이어야합니다. 그렇지 않으면 동일한 필드를 해시하는 다른 객체를 전달할 때까지 해당 필드 중 하나를 변경하면 값에 액세스 할 수 없게됩니다. 다른 키 객체를 사용하여 다시 가치를 찾는 확률은 매우 낮습니다.

+0

감사합니다. @ Aaron3468 –