HashCode e Equals

Embed Size (px)

Citation preview

>> hashCode() e equals() [analogia]- tabela hash um armrio cheio de gavetas;- todas as gavetas possuem um nmero diferente;- sempre que for preciso guardar uma informao no armrio, primeiro preciso calcular um cdigo hash (executa-se o hashCode()) que corresponder ao nmero da gaveta;- sabendo desse nmero, a informao colocada na gaveta especfica;- quando for necessrio buscar essa informao novamente, calcula-se o hash (executa-se o hashCode()) e conseguimos ir direto gaveta em que a informao est alocada;- assim, no perdemos tempo procurando nas outras gavetas;>> Problema: - dois objetos com o mesmo valor esto sendo armazenados na mesma gaveta, quando na verdade, deveriam ser armazenados em gavetas diferentes:- a.hashCode() == b.hashCode() >>> a.equals(b);-