12
Por que o hashCode () do Java em String usa 31 como um multiplicador?
De acordo com a documentação Java, o código de hash para um Stringobjeto é calculado como: s[0]*31^(n-1) + s[1]*31^(n-2) + ... + s[n-1] usando intaritmética, onde s[i]é o i- ésimo caractere da sequência, né o comprimento da sequência e ^indica exponenciação. Por que o 31 é usado como multiplicador? Entendo …