더북(TheBook)

4.2.3 hashCode 메서드


해시 코드(hash code)는 객체에서 파생한 정수 값이다. 해시 코드는 중복되지 않게 잘 뒤섞여 있어야 한다(xy가 동등하지 않은 두 객체라면 x.hashCode()y.hashCode()가 다를 확률이 높다). 예를 들어 "Mary".hashCode()는 2390779고, "Myra".hashCode()는 2413819다.

String 클래스는 다음 알고리즘으로 해시 코드를 계산한다.

int hash = 0;

for (int i = 0; i < length(); i++)

    hash = 31 * hash + charAt(i);

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.