hashCode()
da linguagem de programação Java. O hashCode()
é a função de hash padrão do Java. Porém, ela é, de certa forma bastante exotica se comparado ao padrão que geralmente as funções hash seguem, padrões tais como:
hashCode()
gera um número inteiro;hashCode()
usar um número inteiro, sua unicidade não é muito forte (o que gera colisões de hash);hashCode()
não se preocupa em ter tamanho fixo;hashCode()
(apesar de ser casos raros) nem sempre gera os mesmos hashes para as mesmas entradas dependendo da execução da aplicação. Mas essas coisas não nescessariamente são um problema, afinal existem diferentes tipos de hash, e cada um é para um uso especifico, no caso de hashCode()
é ter uma velocidade rápida para gerar hash sem nescessariamente precisar ter alta unicidade, ou sem nescessariamente ter tamanho fixo. Ou então o caso de não manter consistencia entre execuções (que depende de fatores diversos, como OS, JVM e GC), não é nescessariamente um problemas pois o hashCode()
é feito para se trabalhar nas estruturas de dados do Java durante a execução da aplicação, e não para persistir esses hashes.