| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/05/2005 11:03:16
|
crisadias
Entusiasta Java
Membro desde: 09/05/2005 10:59:04
Mensagens: 18
Localização: Rio de Janeiro - RJ
Offline
|
Bom dia,
alguém pode me dar uma dica. Estou usando um objeto List pra armazenar uma lista de objetos de banco de dados, mas surgiu a necessidade de impedir a repetição de elementos. Tem alguma técnica pra eu fazer isso, algum objeto compativel com list que facilite a lista sem repetição?
Um abraço.
|
Cristiano Araujo Dias
Desenvolvedor de Soluções
Rio de Janeiro - RJ |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/05/2005 13:33:58
|
jgbt
GUJ Master
![[Avatar]](/images/avatar/25df35de87aa441b88f22a6c2a830a17.png)
Membro desde: 04/06/2003 15:01:48
Mensagens: 1286
Localização: Porto Alegre/RS
Offline
|
use um Set ao inves de um List.
[]'s
|
João Bier
Desenvolvedor Java |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/05/2005 13:57:12
|
Rafael Steil
Administrador
![[Avatar]](/images/avatar/8e296a067a37563370ded05f5a3bf3ec.jpg)
Membro desde: 31/08/2002 02:35:53
Mensagens: 5984
Localização: São Paulo
Offline
|
Lembrando que, ao usar Set, voce precisa implementar os metodos equals() e hashCode()
Rafael
|
"working code attracts people who want to code. Design documents attract people who want to talk about coding - Charles Miller"
http://rafaelsteil.com
http://twitter.com/rafaelsteil
http://www.jforum.net
http://www.flickr.com/photos/rafaelsteil |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/05/2005 14:16:42
|
Paulo Silveira
Administrador
![[Avatar]](/images/avatar/a87ff679a2f3e71d9181a67b7542122c.jpg)
Membro desde: 07/08/2002 18:38:50
Mensagens: 4204
Localização: São Paulo
Offline
|
dependendo do Set nao vai precisar de hashCode, mas ja eh uma boa.
crisadias, use java.util.HashSet, interfaceado pela Set como ja falaram.
|
http://blog.caelum.com.br twitter: @paulo_caelum
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/05/2005 14:48:03
|
marcioa1
Virtual Machine Man
![[Avatar]](/images/avatar/169779d3852b32ce8b1a1724dbf5217d.jpg)
Membro desde: 29/11/2003 12:52:10
Mensagens: 736
Localização: Valinhos-SP
Offline
|
Olá,
O set é mais indicado, mas existe ainda o List.contains(Object o), que diz se um objeto já está na lista. Acho que para isto é preciso reescrever equals e hashCode().
Márcio
|
SCJP 1.4, |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/05/2005 14:54:30
|
crisadias
Entusiasta Java
Membro desde: 09/05/2005 10:59:04
Mensagens: 18
Localização: Rio de Janeiro - RJ
Offline
|
Pessoal,
posso então continuar usando o List e fazer a comparação com .contains desde que reescreva o método equals() do meu objeto, certo? É a melhor solução no caso.
Valeu pela ajuda.
|
Cristiano Araujo Dias
Desenvolvedor de Soluções
Rio de Janeiro - RJ |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/05/2005 23:16:09
|
rafael.pereira
Thread.start()
Membro desde: 02/12/2004 21:50:58
Mensagens: 32
Offline
|
Lembre-se que para reescrever equals() e hashCode() você tem que garantir algumas coisas para que sua classe fique consistente.
Objetos considerados iguais pelo método equals() precisam necessariamente possuir o mesmo hashCode().
Objetos diferente não necessariamente precisam ter hashCode() diferentes.
|
Rafael Pereira
--------------------------------------------
http://www.2ks.com.br |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/05/2005 23:29:24
|
louds
Moderador
![[Avatar]](/images/avatar/1e48c4420b7073bc11916c6c1de226bb.jpg)
Membro desde: 29/04/2003 23:09:15
Mensagens: 4061
Localização: São Paulo
Offline
|
Paulo Silveira wrote:dependendo do Set nao vai precisar de hashCode, mas ja eh uma boa.
crisadias, use java.util.HashSet, interfaceado pela Set como ja falaram.
Dependendo do Set? Hmm, ou ele é feito com hashing e precisa do hashCode, ou é feito usando arvores, ai precisa do Comparable, um contrato beeeem mais dificil de implementar.
|
http://www.kumpera.net/blog/
http://www.mono-project.com/
"Each individual should work for himself. People will not sacrifice themselves for the company. They come to work at the company to enjoy themselves."
Soichiro Honda |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/05/2005 14:27:00
|
thingol
Moderador
Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline
|
Alguém precisa disponibilizar aqui um Comparator "genérico". Alguma coisa que fosse usada assim:
Digamos que você tivesse um TreeSet de ClienteVO, onde ClienteVO tem os seguintes atributos: double salario, String nome, String sobrenome.
Não é difícil de escrever (nada que um pouco de reflection não resolva) mas dá trabalho...
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/05/2005 15:22:09
|
Filipe Sabella
GUJ Expert
Membro desde: 12/03/2003 11:25:57
Mensagens: 4680
Offline
|
Fiz algo semelhante (precisa de refatoração @.@)
This message was edited 1 time. Last update was at 11/05/2005 15:30:15
|
Former LIPE. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 05/07/2005 16:45:50
|
takeshi10
Java Ninja
Membro desde: 08/08/2004 23:05:25
Mensagens: 254
Localização: Brasil
Offline
|
ops escrevi no topico errado... mod poderia apagar isso aki?
This message was edited 1 time. Last update was at 05/07/2005 16:46:56
|
takeshi |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 28/08/2006 11:44:21
|
tads
JavaGuru
![[Avatar]](/images/avatar/c8cf37033f65f62bb7774.jpg)
Membro desde: 12/08/2003 15:10:59
Mensagens: 230
Offline
|
Bom dia,
Estou tentando implementar um Comparator genérico ond eu passo
um vetor de strings ou talvez uma lista de strings que são os atributos pelos quais eu vou ordenar.
Já tenho um comparator que é usado apenas para um atributo:
Porém, como fazer daki em diante?
Se alguém puder dar uma dica...
valew
|
Tads |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 28/08/2006 14:56:29
|
tads
JavaGuru
![[Avatar]](/images/avatar/c8cf37033f65f62bb7774.jpg)
Membro desde: 12/08/2003 15:10:59
Mensagens: 230
Offline
|
Blz?
encontrei uma solução muito legal sobre fazer este tipo de ordenação,
usando o ComparatorChain do org.apache.commons.collections.comparators.
Segue um exemplo:
Ond primeiramente ordena por name, depois por ojectId.
|
Tads |
|
|
 |
|
|