Wydajna implementacja hashCode ()
Często generuję automatycznie klasyhashCode()
metoda używająca IntelliJ IDEA i zazwyczaj metoda ma postać:
result = 31 * result + ...
Moje pytanie brzmi: jaki jest cel mnożenia przez 31? Wiem, że to liczba pierwsza, ale dlaczego wybrać 31? Ponadto, jeśli implementujesz ahashCode()
czy dla szczególnie małego / dużego zbioru danych ludzie różnie podchodziliby do tego problemu?