Re: [java-list] HASH
Hashtable é uma classe que é parte da java.util.* API. É usuada para guardar e recuperar dados (key/element) . Exemplo: public static void main(String args[]) { String Key = Sangue; String Elemento =O+; Hashtable xx = new Hashtable(); xx.put(Key,Element); System.out.println(xx.get(Key)); } Leonardo Campos wrote: Existe algum tipo de hash em Java? Em Perl seria: $teste{nome} = Leonardo; print $test{nome}; PS. Havia mandado uma outra mensagem sobre isso, mas tive problemas e não sei se a msg foi enviada! Desculpe +===.=.==+ | Leonardo Campos (°v°) | | [EMAIL PROTECTED] (( )) | +==+ | Winchester cheio? Apague asteriscos! /|\ | ++ __ Quer ter seu próprio endereço na Internet? Garanta já o seu e ainda ganhe cinco e-mails personalizados. DomíniosBOL - http://dominios.bol.com.br -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] - -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] -
RES: [java-list] HASH
Object.hashCode(); exemplo: String name = Leonardo; System.out.println(name + .hash = + name.hashCode()); -Mensagem original- De: Leonardo Campos [mailto:[EMAIL PROTECTED]] Enviada em: quinta-feira, 28 de fevereiro de 2002 16:14 Para: [EMAIL PROTECTED] Assunto: [java-list] HASH Existe algum tipo de hash em Java? Em Perl seria: $teste{nome} = Leonardo; print $test{nome}; PS. Havia mandado uma outra mensagem sobre isso, mas tive problemas e não sei se a msg foi enviada! Desculpe +===.=.==+ | Leonardo Campos (°v°) | | [EMAIL PROTECTED] (( )) | +==+ | Winchester cheio? Apague asteriscos! /|\ | ++ __ Quer ter seu próprio endereço na Internet? Garanta já o seu e ainda ganhe cinco e-mails personalizados. DomíniosBOL - http://dominios.bol.com.br -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] - -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] -
Re: [java-list] HASH
Sim, existe a classe java.util.Hashtable; - Original Message - From: Leonardo Campos [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Thursday, February 28, 2002 4:14 PM Subject: [java-list] HASH Existe algum tipo de hash em Java? Em Perl seria: $teste{nome} = Leonardo; print $test{nome}; PS. Havia mandado uma outra mensagem sobre isso, mas tive problemas e não sei se a msg foi enviada! Desculpe +===.=.==+ | Leonardo Campos (°v°) | | [EMAIL PROTECTED] (( )) | +==+ | Winchester cheio? Apague asteriscos! /|\ | ++ __ Quer ter seu próprio endereço na Internet? Garanta já o seu e ainda ganhe cinco e-mails personalizados. DomíniosBOL - http://dominios.bol.com.br -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] - -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] -
[java-list] HASH
Existe algum tipo de hash em Java? Em Perl seria: $teste{nome} = Leonardo; print $test{nome}; PS. Havia mandado uma outra mensagem sobre isso, mas tive problemas e não sei se a msg foi enviada! Desculpe +===.=.==+ | Leonardo Campos (°v°) | | [EMAIL PROTECTED] (( )) | +==+ | Winchester cheio? Apague asteriscos! /|\ | ++ __ Quer ter seu próprio endereço na Internet? Garanta já o seu e ainda ganhe cinco e-mails personalizados. DomíniosBOL - http://dominios.bol.com.br -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] -
[java-list] hash
Eu tenho isso armazenado em uma tabelahash: universidade : [1, 6, 12] 3 federal : [2, 7, 13] 3 grande : [4, 9] 2 rio :[3, 8] 2 sul : [5, 10] 2 semestre : [11, 16] 2 segundo : [15] 1. A partir de alguns calculos eu tenho esse resultado. universidade federal rio [1, 6, 12] [2, 7, 13] [3, 8] rio grande sul [3, 8] [4, 9] [5, 10] o que eu preciso eh saber quais sao as 3 palavras que vem antes e quais sao as 3 palavras que vem depois. Ex: Universidade posicao 1 antes nao tem nada mas tres depois sao federal(2), rio(3), grande(4) Se alguem puder me dar um help, agrdeco Elceni -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm para sair da lista: envie email para [EMAIL PROTECTED] -
Re: [java-list] Hash Code???
Bom Dia a todos. Isso virou to particular como o conflito de idias do nosso POLIMORFISMO, isso j est parecendo pessoal. Realmente, li novamente a o trecho da documentao e a JVM realmente no garante os hashCode uncos. Perceb que est discuso est me ensinando tanto quanto a de POLIMORFISMO. Abrao a todos. -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usurios Java da Sucesu-SP dvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm para sair da lista: envie email para [EMAIL PROTECTED] -
Re: [java-list] Hash Code???
Olas, somente acrescentando ao que o Leonardo disse, os metodos hashCode dos objetos implementam as "hash functions", ou seja, a funcao que vai determinar o espalhamento dos objetos no hash. Isso nao impede que dois objetos distintos possuam o mesmo hashCode. O ponto eh que quanto menos repeticoes ocorrerem, melhor serah o desempenho do seu hash. Como o Leonardo disse, eles NAO identificam unicamente um objeto. Pense por exemplo em um objeto que possua "chave primaria" composta (dois int por exemplo). Fatalmente haverao repeticoes no hashCode, independente da operacao (soma, multiplicacao, bitwise, etc) que voce fizer com os numeros. Eh isso aih. Um abraco, Bruno. On Wed, 11 Apr 2001, Leonardo Souza Mario Bueno wrote: |O metodo hashcode foi criado para ser utilizado por hashtables |(i.e. classes que implementam Map). Ele NO usado para |identificar unicamente um objeto na JVM. | |-- Leonardo Bueno. | - Original Message - | From: Edson Carlos | To: [EMAIL PROTECTED] | Sent: Wednesday, April 11, 2001 10:43 AM | Subject: [java-list] Hash Code??? | | | Ol a todos, algum poderia me esclarecer, qual a funo dos |mtodos hash code. | | Obrigado. | __ Bruno Diniz de Paula [EMAIL PROTECTED] - UFMG "Coracoes ao alto e pes no chao." "A verdadeira experiencia com Deus nao nos faz fugir da realidade, mas nos da forcas para enfrenta-la e transforma-la." Pe. Zeca -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usurios Java da Sucesu-SP dvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm para sair da lista: envie email para [EMAIL PROTECTED] -
Re: [java-list] Hash Code???
Bruno Diniz de Paula wrote: Como o Leonardo disse, eles NAO identificam unicamente um objeto. Pense por exemplo em um objeto que possua "chave primaria" composta (dois int por exemplo). Fatalmente haverao repeticoes no hashCode, independente da operacao (soma, multiplicacao, bitwise, etc) que voce fizer com os numeros. Isso no necessariamente assim. Houve uma discusso boa na lista EJB-INTEREST da sun aonde Jonathan Weedon (project leader da VisiBroker Inprise Application Server) David Wolf (Sybase Application Server) discutiram maneiras de implementao de hashCode do primary key class (pk composto) numa tal maneira que no haver repeties. Devido ferias infelizmente perdi grande parte deste discusso mas a concluso era que possivel implementar o hashcode de chaves primrias compostos sem repeties. Explicaram que at necessaria pois um hashcode repetido em chaves primrias distintos quer dizer que o EJB container no poderia otomalizar o acesso aos entity beans j instatiado no container. -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usurios Java da Sucesu-SP dvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm para sair da lista: envie email para [EMAIL PROTECTED] -
Re: [java-list] Hash Code???
Para fazer o mesmo em um ambiente distribuido j fica mais complicado... ai seria necessrio usar algum meio de comunicao entre as JVMs para negociar a distribuio de hashCodes. Em http://www2.theserverside.com/patterns/thread.jsp?thread_id=4976 tem uma discusso sobre como gerar identificadores nicos globais... Eu vi esse discusso, mas no gostei muito. Seu exemplo bom de criar um hash unico para objectors no mesmo vm. Num ambiente distribuido no precisa ser nada mais complicado. Ninguem imepede que uso RMI para gerar um hash nico. Um ejb porderia chamar um methodo remoto que retorna o has do objecto independente do vm aonde foi criado. sven -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usurios Java da Sucesu-SP dvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm para sair da lista: envie email para [EMAIL PROTECTED] -
Re: [java-list] Hash Code???
O problema com a soluo usando RMI para gerar um ID nico (Neste caso j no estamos mais falando de hashs e sim de IDs) que ela introduz um ponto nico de falha, j a soluo do artigo usando GUID no. -- Leonardo Bueno. - Original Message - From: "Sven van t Veer" [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Tuesday, April 17, 2001 3:04 PM Subject: Re: [java-list] Hash Code??? Para fazer o mesmo em um ambiente distribuido j fica mais complicado... ai seria necessrio usar algum meio de comunicao entre as JVMs para negociar a distribuio de hashCodes. Em http://www2.theserverside.com/patterns/thread.jsp?thread_id=4976 tem uma discusso sobre como gerar identificadores nicos globais... Eu vi esse discusso, mas no gostei muito. Seu exemplo bom de criar um hash unico para objectors no mesmo vm. Num ambiente distribuido no precisa ser nada mais complicado. Ninguem imepede que uso RMI para gerar um hash nico. Um ejb porderia chamar um methodo remoto que retorna o has do objecto independente do vm aonde foi criado. sven -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usurios Java da Sucesu-SP dvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm para sair da lista: envie email para [EMAIL PROTECTED] - -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usurios Java da Sucesu-SP dvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm para sair da lista: envie email para [EMAIL PROTECTED] -
RE: [java-list] Hash Code???
Uma pequena observacao, public final int hashCode() { int code; synchronized(X.class) { code = nextHashCode; nextHashCode++; } return code; } Acho que um dos principais argumentos contra o uso de hashcodes como identificadores unicos, mesmo utilizando o codigo acima apresentado, eh o fato de isto "limitar" a quantidade de objetos que podem ser criados, sendo esta quantidade = Integer.MAX_VALUE. Apesar de ser um numero estupidamente grande, pode nao ser suficiente. Se voce sabe que nao ha a possibilidade de isto acontecer nada impede que voce use o hashcode como id de um objeto, apesar de este nao ser seu proposito. Andre [EMAIL PROTECTED] -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usurios Java da Sucesu-SP dvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm para sair da lista: envie email para [EMAIL PROTECTED] -
Re: [java-list] Hash Code???
Este um ponto negativo de usar o hashCode() para gerar IDs... voc tem que se limitar a ints e no pode usar um long. Pra falar a verdade eu no consigo ver o motivo pelo qual alguem pode querer usar o hashCode para gerar IDs nicos... acho que se voc quer apenas gerar IDs nicos, deve deixar o hasCode do modo como est e pegar o id de outro lugar, pois o mtodo hashCode no foi feito para isto. -- Leonardo Bueno. - Original Message - From: "Andre Mendonca" [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Tuesday, April 17, 2001 2:16 PM Subject: RE: [java-list] Hash Code??? Uma pequena observacao, public final int hashCode() { int code; synchronized(X.class) { code = nextHashCode; nextHashCode++; } return code; } Acho que um dos principais argumentos contra o uso de hashcodes como identificadores unicos, mesmo utilizando o codigo acima apresentado, eh o fato de isto "limitar" a quantidade de objetos que podem ser criados, sendo esta quantidade = Integer.MAX_VALUE. Apesar de ser um numero estupidamente grande, pode nao ser suficiente. Se voce sabe que nao ha a possibilidade de isto acontecer nada impede que voce use o hashcode como id de um objeto, apesar de este nao ser seu proposito. Andre [EMAIL PROTECTED] -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usurios Java da Sucesu-SP dvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm para sair da lista: envie email para [EMAIL PROTECTED] - -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usurios Java da Sucesu-SP dvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm para sair da lista: envie email para [EMAIL PROTECTED] -
Re: [java-list] Hash Code???
On Tue, 17 Apr 2001, Sven van t Veer wrote: [SNIP] |Isso no necessariamente assim. Houve uma discusso boa na lista |EJB-INTEREST da sun aonde Jonathan Weedon (project leader da VisiBroker | Inprise Application Server) David Wolf (Sybase Application Server) |discutiram maneiras de implementao de hashCode do primary key class |(pk composto) numa tal maneira que no haver repeties. Devido [SNIP] Oi Sven, gostaria de saber como eh, pois ateh hoje nao vi nenhuma solucao. Voce tem certeza que eles previram possibilidades como chaves com numeros ponto flutuante misturados a inteiros e aih vai? Particularmente acho pouco provavel... Existe uma forma de minimizar os conflitos (que ainda no meu ponto de vista sao inevitaveis) que eh criando um StringBuffer e depois retornando o hashCode do string que foi composto com as chaves. Essa solucao te dah um espalhamento no hash razoavel. Quanto ao container de um AS, ele conseguiria localizar o seu objeto sim. Basta que voce tenha implementado o metodo equals corretamente, aih sim verificando todas as chaves. Funciona da mesma forma que os hashs convencionais (Map), onde ha conflitos e a existencia de um metodo equals corretamente implementado eh fundamental para o funcionamento correto. Abracos, Bruno. __ Bruno Diniz de Paula [EMAIL PROTECTED] - UFMG "Coracoes ao alto e pes no chao." "A verdadeira experiencia com Deus nao nos faz fugir da realidade, mas nos da forcas para enfrenta-la e transforma-la." Pe. Zeca -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usurios Java da Sucesu-SP dvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm para sair da lista: envie email para [EMAIL PROTECTED] -
Re: [java-list] Hash Code???
Oi Sven, gostaria de saber como eh, pois ateh hoje nao vi nenhuma solucao. Voce tem certeza que eles previram possibilidades como chaves com numeros ponto flutuante misturados a inteiros e aih vai? Particularmente acho pouco provavel... Pois eh, como j falei, perdi parte da discusso po causa das frias. Tambm eles no queriam falar tudo sobre o assunto, provavelmente por que parte do codigo fonte seria proprietario borland/sybase. Existe uma forma de minimizar os conflitos (que ainda no meu ponto de vista sao inevitaveis) que eh criando um StringBuffer e depois retornando o hashCode do string que foi composto com as chaves. Essa solucao te dah um espalhamento no hash razoavel. Quanto ao container de um AS, ele conseguiria localizar o seu objeto sim. Basta que voce tenha implementado o metodo equals corretamente, aih sim verificando todas as chaves. Claro que consegue, por isso tem a classe da chave primria, soh que a busca usando o has dos objetos j instanciados seria muito mais rpido no acha? Quando faz um methodo que retorna um Collection, provavelmente dependendo do vendedor, mas o que entendi pelo menos no caso do IAS, o hashcode usado para identificar os objectos do PK igual num hashTable. O que saiba que hashing criando um hash nico para cada chave chamado Minimal Perfect Hashing. Tem alguns artigos sobre o assunto no JavaWorld e dr Dobbs. Funciona da mesma forma que os hashs convencionais (Map), onde ha conflitos e a existencia de um metodo equals corretamente implementado eh fundamental para o funcionamento correto. No javaworld tem um artigo sobre hashing maps e hashtables usando minimal perfect hashing. Sven -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usurios Java da Sucesu-SP dvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm para sair da lista: envie email para [EMAIL PROTECTED] -
Re: [java-list] Hash Code???
Bom Dia Leonardo. Leia o conteúdo da JS no link http://java.sun.com/docs/books/jls/first_edition/html/javalang.doc1.html#46442 no tópico 20.1.4 que explica a IDENTIFICAÇÃO ÚNICA. Abraços!!! - Original Message - From: Leonardo Souza Mario Bueno To: [EMAIL PROTECTED] Sent: Wednesday, April 11, 2001 5:40 PM Subject: Re: [java-list] Hash Code??? O BOL é Top3 no iBest! Vote já para torná-lo Top1! http://www.bol.com.br/ibest.html O metodo hashcode foi criado para ser utilizado por hashtables (i.e. classes que implementam Map). Ele NÃO é usado para identificar unicamente um objeto na JVM. -- Leonardo Bueno. - Original Message - From: Edson Carlos To: [EMAIL PROTECTED] Sent: Wednesday, April 11, 2001 10:43 AM Subject: [java-list] Hash Code??? Olá a todos, alguém poderia me esclarecer, qual afunção dos métodos hash code. Obrigado.
Re: [java-list] Hash Code???
HashTable são o que? A meu ver, para mapear chaves de valores. Então o hashcode() traz a identificação unica de uma instância. Faça um teste sem utilizar HashTables e imprima o hashcode de duas instâncias de uma mesma classe que verá o seus respectivos hashcode's. - Original Message - From: Leonardo Souza Mario Bueno To: [EMAIL PROTECTED] Sent: Wednesday, April 11, 2001 5:40 PM Subject: Re: [java-list] Hash Code??? O metodo hashcode foi criado para ser utilizado por hashtables (i.e. classes que implementam Map). Ele NÃO é usado para identificar unicamente um objeto na JVM. -- Leonardo Bueno. - Original Message - From: Edson Carlos To: [EMAIL PROTECTED] Sent: Wednesday, April 11, 2001 10:43 AM Subject: [java-list] Hash Code??? Olá a todos, alguém poderia me esclarecer, qual afunção dos métodos hash code. Obrigado.
[java-list] Hash Code???
Olá a todos, alguém poderia me esclarecer, qual afunção dos métodos hash code. Obrigado.
Re: [java-list] Hash Code???
Ele serve para dar uma identificao nica do objeto ao VM. No caso de um EntityBean o hashCode serve para gerar um identificador nico para a chave primria. Quando cria um Hashtable por exemplo, o hash do objeto usado para identificao cada objeto no hashtable. sven Edson Carlos wrote: [EMAIL PROTECTED]"> Ol a todos, algum poderia me esclarecer, qual afuno dos mtodos hash code. Obrigado.
Re: [java-list] Hash Code???
Pelo que sei, o HashCode de um objeto é a identificação da instância daquele objeto. - Original Message - From: Edson Carlos To: [EMAIL PROTECTED] Sent: Wednesday, April 11, 2001 10:43 AM Subject: [java-list] Hash Code??? Olá a todos, alguém poderia me esclarecer, qual afunção dos métodos hash code. Obrigado.
Re: [java-list] Hash Code???
Valeu Sven van 't Veer, você poderia dar um exemplo, porque a VM tem a necessidade desta "identificação única"? -Mensagem Original- De: Sven van ´t Veer Para: [EMAIL PROTECTED] Enviada em: Quarta-feira, 11 de Abril de 2001 13:27 Assunto: Re: [java-list] Hash Code??? Ele serve para dar uma identificação única do objeto ao VM. No caso de um EntityBean o hashCode serve para gerar um identificador único para a chave primária.Quando cria um Hashtable por exemplo, o hash do objeto é usado para identificao cada objeto no hashtable.svenEdson Carlos wrote: [EMAIL PROTECTED]" type="cite"> Olá a todos, alguém poderia me esclarecer, qual afunção dos métodos hash code. Obrigado.
Re: [java-list] Hash Code???
O metodo hashcode foi criado para ser utilizado por hashtables (i.e. classes que implementam Map). Ele NÃO é usado para identificar unicamente um objeto na JVM. -- Leonardo Bueno. - Original Message - From: Edson Carlos To: [EMAIL PROTECTED] Sent: Wednesday, April 11, 2001 10:43 AM Subject: [java-list] Hash Code??? Olá a todos, alguém poderia me esclarecer, qual afunção dos métodos hash code. Obrigado.