HashCode() (Java)En el lenguaje de programación Java un HashCode es un identificador de 32 bits que se almacena en un Hash en la instancia de la clase. Toda clase debe proveer de un método Función hashCode() de los objetos StringEn las primeras versiones de Java, el hash code de un objeto String se calculaba con base en los primeros 16 dígitos, algo que resultaba muy ineficaz a la hora de implementar tablas hash, por lo que desde Java 1.2, el hash code se calcula con base en todos los elementos del String siguiendo la siguiente fórmula: EjemploEn este ejemplo se genera un hash code para un objeto Empleado basándonos en su ID, el hash code de su nombre y de su departamento. Cuanto más elaborada sea la función menos colisiones existirán en nuestro hash. public class Empleado {
int IDempleado;
String nombre;
Departamento dept;
// Métodos de la Clase
@Override
public int hashCode() {
int hash = 1;
hash = hash * 17 + IDempleado;
hash = hash * 31 + nombre.hashCode();
hash = hash * 13 + ((dept == null) ? 0 : dept.hashCode());
return hash;
}
}
Referencias
|
Portal di Ensiklopedia Dunia