Muitas bibliotecas comparam os códigos hash de dois objetos antes de compararem os mesmo objetos utilizando-se o método “equals”. Isso se deve basicamente em função da velocidade de processamento, ou seja, comparar dois códigos hash deve ser bem mais rápido que comparar dois estados de forma plena.
Contudo não se esqueça de que a implementação de ambos, apesar de semelhantes, devem seguir, cada um o seu próprio propósito.
Uma boa função de hash tende a produzir códigos de hash diferentes para objetos distintos. O ideal é que uma função de hash distribua qualquer coleção considerável de instâncias diferentes uniformemente por todos os valores de hash possíveis.