Código de hashing?

8 respostas
P

Na especificação do método hashCode() diz que ele retorna o valor int do cóigo de hashing de um objeto… o que significa isso

8 Respostas

cv1

http://mindprod.com/jgloss/hashcode.html

P

Bah véio, obrigado pelo link, mas meu inglês não anda bem, não teria algo em português, ou melhor, uma descrição breve do que é código de hashing

E

vai no altavista.com.br, entra em traduzir, entra com o endereço do site e quase beleza pois a tradução é meia boca.

A

O método tem que retornar um int, só isso mesmo. :wink:
Para o exame de certificação não importa como é feito o hashing.
Pode até ser que dentro do método tenha um simples “return 9;”, não é eficiente mas é legal.

Você só precisa saber o seguinte:

  • a assinatura do método “public int hashCode()” que é da classe Object;
  • as regras para codificá-lo(no livro da Kathy tem uma lista delas);
  • sempre que fizer “override” do método equals() tem que fazer de hashCode() também;
  • é usado em algumas Collections para localizar e ordenar elementos
P

O método tem que retornar um int, só isso mesmo. :wink:
Para o exame de certificação não importa como é feito o hashing.
Pode até ser que dentro do método tenha um simples “return 9;”, não é eficiente mas é legal.

Você só precisa saber o seguinte:

  • a assinatura do método “public int hashCode()” que é da classe Object;
  • as regras para codificá-lo(no livro da Kathy tem uma lista delas);
  • sempre que fizer “override” do método equals() tem que fazer de hashCode() também;
  • é usado em algumas Collections para localizar e ordenar elementos

- a assinatura do método “public int hashCode()” que é da classe Object;

  • as regras para codificá-lo(no livro da Kathy tem uma lista delas);
  • sempre que fizer “override” do método equals() tem que fazer de hashCode() também;
  • é usado em algumas Collections para localizar e ordenar elementos

Concordo com todas as informações, mais no caso do: “sempre que fizer “override” do método equals() tem que fazer de hashCode() também;”, meu instrutor na SUN falou que não é necessario! E agora é ou não? No livro fala da certificação fala should --> shall --> dever

???
???

A

Exatamente… no livro está “should”, ou seja, é uma recomendação para que funcione na localização de objetos mais eficiente.
Isto não quer dizer, realmente, que seja obrigatório, e sim que é perfeitamente legal você quebrar essa regra mas consequentemente terá uma performance pior.
Foi o que eu entendi.

P

“ana_abrantes”:
Exatamente… no livro está “should”, ou seja, é uma recomendação para que funcione na localização de objetos mais eficiente.
Isto não quer dizer, realmente, que seja obrigatório, e sim que é perfeitamente legal você quebrar essa regra mas consequentemente terá uma performance pior.
Foi o que eu entendi.

Mais ou menos isso mesmo que o instrutor disse também, tipo ajuda nas APIs que fazem ordenação e algumas outras coisas…

A

Legal ! :wink:

Criado 24 de março de 2004
Ultima resposta 14 de mai. de 2004
Respostas 8
Participantes 5