Cuando usamos interfaces tipo Set, necesitamos que los objetos de la colección tengan el método hashcode() correctamente funcionando. Con los objetos clave del interface Map ocurre lo mismo. Esto es porque para localizar los objetos, o las claves, dentro de la colección se utiliza el hashcode en su optimizado algoritmo de búsqueda.
¿Qué es el hashcode? hashcode es un entero más o menos único para cada objeto, y se suele obtener a partir de los campos del objeto.
http://www.ibm.com/developerworks/java/library/j-jtp05273/index.html
Por otro lado, ciertos entornos de desarrollo como Eclipse nos puede generar un hashcode si así se lo requerimos, eligiendo qué campos son los significativos.
Finalmente, hemos de comprobar siempre que equals() y hashcode() actúen en sintonía, como bien dice el artículo.
No hay comentarios:
Publicar un comentario