[자바] Hash알고리즘을 사용하는 컬렉션에서 hashCode() 메소드를 이용하는 이유가 무엇인가요?
글쓴이: qeeeeep / 작성시간: 수, 2016/04/06 - 3:53오후
자바에서 HashSet, HashMap 등의 컬렉션 프레임워크를 사용할 때
요소 검색시 hashCode메소드의 리턴값 비교 , equals() 연산결과
이 두 가지를 순서대로 이용한다고 알고 있습니다.
equals메소드를 사용하기 전에 hashCode 메소드의 리턴값을 비교하는 것이
(성능상의?) 이점이 있기 때문일 것으로 추정됩니다만
저의 개인적 논리로는 equals 결과가 true면서 hashCode()값이 다른 객체가 있을 수 있나 싶습니다.
그래서 equals()만 사용하는 것이 개발자의 실수도 줄이고 equals()비교가 필요한 경우 더 성능이 좋을 것 같다고 생각이되는데요
이런 맥락에서 hashCode 메소드를 사용하는 이유가 궁금합니다!
Forums:
댓글 달기