12
Почему Java hashCode () в String использует 31 в качестве множителя?
Согласно документации Java, хеш-код для Stringобъекта вычисляется как: s[0]*31^(n-1) + s[1]*31^(n-2) + ... + s[n-1] с использованием intарифметических операций, где s[i]это я й символ строки, nдлина строки, и ^указывает , возведение в степень. Почему 31 используется как множитель? Я понимаю, что множитель должен быть относительно большим простым числом. Так почему …