Java의 문자열용 hashCode() 메서드에서 31이 승수로 사용되는 이유는 무엇입니까?
Java 문서에서는 문자열 객체의 계산을 지정합니다. 해시 코드는 다음과 같습니다.
여기서 s[i]는 문자열의 i번째 문자, n은 문자열의 길이, ^는 지수를 나타냅니다. 이 공식에는 31이라는 고정 승수가 포함됩니다.
31을 승수로 사용하는 이론적 근거
Joshua Bloch의 존경받는 저서 "Effective Java"에 따르면 31을 선택합니다. 승수는 여러 가지에 달려 있기 때문에 요인:
위 내용은 Java의 문자열용 `hashCode()`가 승수로 31을 사용하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!