Effiziente Implementierung von hashCode ()

Ich erstelle oft automatisch eine KlassehashCode() Methode mit IntelliJ IDEA und normalerweise hat die Methode die folgende Form:

result = 31 * result + ...

Meine Frage ist, was ist der Zweck der Multiplikation mit 31? Ich weiß, dass dies eine Primzahl ist, aber warum speziell 31 auswählen? Auch bei der Implementierung eineshashCode() Würden die Leute bei einem besonders kleinen / großen Datensatz dieses Problem anders angehen?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage