¿Por qué usar un número primo en hashCode?
Me preguntaba por qué los primos se usan en una clasehashCode()
¿método? Por ejemplo, cuando utilizo Eclipse para generar mihashCode()
método siempre hay el número primo31
usado:
public int hashCode() {
final int prime = 31;
//...
}
Referencias
Aquí hay un buen manual sobre Hashcode y un artículo sobre cómo funciona el hashing que encontré (C # pero los conceptos son transferibles):Pautas y reglas de Eric Lippert para GetHashCode ()