| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/11/2009 11:36:05
|
renato_ramos
JavaGuru
![[Avatar]](/images/avatar/c5aa1ea0b5da97a51d83ef18cf9daebe.jpg)
Membro desde: 07/10/2009 12:04:32
Mensagens: 234
Offline
|
Oi!
tava dando uma olhada pro ai na internet e achei esse exemplo
e funcinou... mas adaptando para minha aplicação
e quando eu vou ver o set de alternativa só tem um elemento..
gostaria de saber porque =/
mt obrigado
This message was edited 1 time. Last update was at 26/11/2009 13:49:47
|
[]'s Renato Ramos |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/11/2009 11:38:44
|
PedroGuerra
JavaBaby
Membro desde: 03/11/2009 16:15:55
Mensagens: 94
Localização: Londrina - PR
Offline
|
sua variavel index ta recebendo algum valor?
troca ela por isso
|
Aqui ou é 0 ou é 1. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/11/2009 11:41:45
|
entanglement
GUJ Hacker
Membro desde: 26/09/2009 09:18:56
Mensagens: 5750
Offline
|
Para usar um HashSet<SuaClasse>, você precisa redefinir o método public int hashCode() dessa classe SuaClasse.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/11/2009 11:54:05
|
renato_ramos
JavaGuru
![[Avatar]](/images/avatar/c5aa1ea0b5da97a51d83ef18cf9daebe.jpg)
Membro desde: 07/10/2009 12:04:32
Mensagens: 234
Offline
|
PedroGuerra wrote:sua variavel index ta recebendo algum valor?
troca ela por isso
pega sim
esqueci de colocar ali.. mals ae
Para usar um HashSet<SuaClasse>, você precisa redefinir o método public int hashCode() dessa classe SuaClasse.
entanglement... não sabia dessa... voce tem um exemplo de como eu posso fazer isso
valeu!
This message was edited 1 time. Last update was at 26/11/2009 11:54:29
|
[]'s Renato Ramos |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/11/2009 12:04:52
|
ViniGodoy
Moderador
![[Avatar]](/images/avatar/1921493b5362e63fbe8983f4bd54157d.png)
Membro desde: 11/12/2006 08:22:01
Mensagens: 20578
Localização: Curitiba/PR
Offline
|
renato_ramos wrote:tava dando uma olhada pro ai na internet e achei esse exemplo
Esse exemplo é melhor:
http://www.guj.com.br/posts/list/74068.java#389435
|
@ViniGodoy - Lattes
Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!
Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).
Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/11/2009 12:15:24
|
renato_ramos
JavaGuru
![[Avatar]](/images/avatar/c5aa1ea0b5da97a51d83ef18cf9daebe.jpg)
Membro desde: 07/10/2009 12:04:32
Mensagens: 234
Offline
|
obrigado vini
ms tem um exemplo de como transformar uma List<classe> pra um HashSet<classe>
como eu criei a classe usando o wizarddo netbeans pra criar classes a partir de um bd
ele faz esse metodo de "fabrica"
mas acho que nun tah funcionando neh?
valeu!
|
[]'s Renato Ramos |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/11/2009 12:15:50
|
entanglement
GUJ Hacker
Membro desde: 26/09/2009 09:18:56
Mensagens: 5750
Offline
|
Você está usando o Eclipse ou o NetBeans? Ele tem uma opção de gerar o método hashCode para você.
No NetBeans, clique com o botão direito sobre o nome da classe (naquela linha onde você definiu "public class Alternativa"), e então escolha a opção "Inserir Código...", e então escolha a opção "equals() e hashCode()...".
Escolha os campos da classe que você precisa usar como chaves (por exemplo, em um campo "cliente" você normalmente usaria apenas o campo "código"), e então clique em "Gerar".
No Eclipse, existe algo parecido. Vou ver como é que é.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/11/2009 12:24:17
|
renato_ramos
JavaGuru
![[Avatar]](/images/avatar/c5aa1ea0b5da97a51d83ef18cf9daebe.jpg)
Membro desde: 07/10/2009 12:04:32
Mensagens: 234
Offline
|
acho que eu descobri oq ta acontecendo... eu não to settando o id da classe, porque eu to settando o set em um atributo set de outra classe pra gravar no banco usando hibernate... ele gera os id sozinho '-'
com list ele ia que ia.. mas tive que mudar pra set =/
como eu posso resolver isso?
|
[]'s Renato Ramos |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/11/2009 12:25:21
|
renamed
GUJ Ranger
Membro desde: 21/09/2009 08:47:57
Mensagens: 889
Localização: Rio de Janeiro
Offline
|
È realmente necessário implementar esse método hash? eu lembro q na primeira cadeira de java na facul meu professor nos obrigou a usar Hash e eu nao lembro de ter feito isso nao...
|
flw!
===========================
CV: http://lattes.cnpq.br/7235056457600426 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/11/2009 12:27:46
|
entanglement
GUJ Hacker
Membro desde: 26/09/2009 09:18:56
Mensagens: 5750
Offline
|
A definição default do método hashCode pode ser útil se você quiser usar um HashSet em que dois objetos que contém os mesmos valores, mas são objetos distintos, devem ser considerados diferentes.
Você precisa redefinir hashCode se você quer que dois objetos que contém alguns valores iguais (como se fossem chaves compostas em uma tabela SQL) devam ser considerados o mesmo objeto.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/11/2009 12:57:29
|
ViniGodoy
Moderador
![[Avatar]](/images/avatar/1921493b5362e63fbe8983f4bd54157d.png)
Membro desde: 11/12/2006 08:22:01
Mensagens: 20578
Localização: Curitiba/PR
Offline
|
renato_ramos wrote:ms tem um exemplo de como transformar uma List<classe> pra um HashSet<classe>
Sim:
Só cuidado que elementos com o mesmo hashcode serão descartados.
|
@ViniGodoy - Lattes
Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!
Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).
Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/11/2009 13:07:21
|
ViniGodoy
Moderador
![[Avatar]](/images/avatar/1921493b5362e63fbe8983f4bd54157d.png)
Membro desde: 11/12/2006 08:22:01
Mensagens: 20578
Localização: Curitiba/PR
Offline
|
renamed wrote:È realmente necessário implementar esse método hash? eu lembro q na primeira cadeira de java na facul meu professor nos obrigou a usar Hash e eu nao lembro de ter feito isso nao...
Para usar as coleções baseadas em hash (HashSet, LinkedHashSet, HashMap), sim. Para mais informações sobre como implementar o hashcode, leiam: http://www.guj.com.br/posts/list/52485.java#276120 Também fiz uma classezinha prática para implementar esse algoritmo: http://www.guj.com.br/posts/list/101275.java#546125 Fica menos rebuscado que o código que as IDEs geram.
This message was edited 1 time. Last update was at 26/11/2009 13:12:53
|
@ViniGodoy - Lattes
Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!
Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).
Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/11/2009 13:16:32
|
ViniGodoy
Moderador
![[Avatar]](/images/avatar/1921493b5362e63fbe8983f4bd54157d.png)
Membro desde: 11/12/2006 08:22:01
Mensagens: 20578
Localização: Curitiba/PR
Offline
|
Uma alternativa ao HashSet, se sua classe for ordenável, é usar o TreeSet. Nesse caso, ou sua classe deve implementar Comparable, ou você deve fornecer um Comparator.
As vezes, é mais fácil implementar isso do que o hashcode. Para saber mais sobre comparator e comparable, leia:
http://www.guj.com.br/posts/list/45985.java
|
@ViniGodoy - Lattes
Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!
Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).
Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/11/2009 13:20:38
|
entanglement
GUJ Hacker
Membro desde: 26/09/2009 09:18:56
Mensagens: 5750
Offline
|
Para 95% dos usos costumeiros, é melhor usar um TreeSet, não um HashSet.
Isso é porque é bem parecido com o uso que você faria em um banco de dados com uma chave primária - você não pode inserir 2 registros com a mesma chave, e quando você efetua uma consulta, os registros já vêm na ordem dada pela chave primária.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/11/2009 13:30:28
|
renato_ramos
JavaGuru
![[Avatar]](/images/avatar/c5aa1ea0b5da97a51d83ef18cf9daebe.jpg)
Membro desde: 07/10/2009 12:04:32
Mensagens: 234
Offline
|
Vini usando sua classe tah dando java.lang.StackOverflowError
eu nao posso usar a classe Random pra gerar?
|
[]'s Renato Ramos |
|
|
 |
|
|