Perguntas com a marcação «hashcode»

Um código hash é o resultado da aplicação de uma função hash aos dados, geralmente resultando em um número inteiro.

173
Por que usar um número primo no hashCode?

Eu só estava me perguntando por que os números primos são usados ​​no hashCode()método de uma classe ? Por exemplo, ao usar o Eclipse para gerar meu hashCode()método, sempre há o número principal 31usado: public int hashCode() { final int prime = 31; //... } Referências: Aqui está uma boa...

162
Implementação padrão para Object.GetHashCode ()

Como funciona a implementação padrão GetHashCode()? E ele lida com estruturas, classes, matrizes etc. de maneira eficiente e suficientemente boa? Estou tentando decidir em quais casos devo embalar o meu e em quais casos posso confiar com segurança na implementação padrão para fazer o bem. Não...

160
Boa função hash para strings

Eu estou tentando pensar em uma boa função de hash para strings. E eu estava pensando que seria uma boa idéia resumir os valores unicode para os cinco primeiros caracteres da string (supondo que ele possua cinco, caso contrário, pare onde termina). Seria uma boa ideia ou ruim? Estou fazendo isso...

136
Diretrizes GetHashCode em C #

Eu li no livro Essential C # 3.0 e .NET 3.5 que: Os retornos de GetHashCode () durante a vida útil de um objeto específico devem ser constantes (o mesmo valor), mesmo que os dados do objeto sejam alterados. Em muitos casos, você deve armazenar em cache o retorno do método para impor isso. Esta...

134
Consistência de hashCode () em uma sequência Java

O valor hashCode de uma String Java é calculado como ( String.hashCode () ): s[0]*31^(n-1) + s[1]*31^(n-2) + ... + s[n-1] Existem circunstâncias (por exemplo, versão da JVM, fornecedor etc.) sob as quais a expressão a seguir será avaliada como falsa? boolean expression = "This is a Java...