12
Чому хеш-код () Java у String використовує 31 як множник?
Відповідно до документації Java, хеш-код для Stringоб'єкта обчислюється як: s[0]*31^(n-1) + s[1]*31^(n-2) + ... + s[n-1] з використанням intарифметичних операцій, де s[i]це я й символ рядка, nдовжина рядка, і ^вказує , зведення в ступінь. Чому 31 використовується як множник? Я розумію, що множник повинен бути порівняно великим простим числом. То …