Como ordenar um ArrayList de objetos ?  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
khichfy
Debugger

Membro desde: 01/02/2008 15:46:33
Mensagens: 62
Offline

Pessoal

Eu não estou conseguindo ordenar a Lista ...
alguem pode me ajudar ?

por exemplo:

tenho um objeto chamado TIMEDEFUTEBOL.

TIMEDEFUTEBOL tem como atributos:
int numCampeonatosBrasileiros;
int numCampenatosMundial;
String nome;

Tenho minha Lista:
List <TIMEDEFUTEBOL>equipes = new ArrayList<TIMEDEFUTEBOL>();

como eu posso ordenar a List equipes por numCampeonatosBrasileiros ??


o resultado ja sabemos: Flamengo e São Paulo vão ficar no topo rsrsrs...
mas serio, eu to ha um tempão tentando fazer isso e tenho que comitar essa implementação ainda hoje...

se alguem puder me ajudar
Obrigado
Julio
rdgms
Virtual Machine Man
[Avatar]

Membro desde: 21/12/2006 22:08:57
Mensagens: 628
Localização: São Paulo
Offline

Voce pode usar o metodo sort()
Collections.sort(list);

nem lembro se eh assim msm..

PDF, JPG, GIF, DOC e DOCX
JAVA! SCALA!


Rage
Java Ninja
[Avatar]

Membro desde: 31/03/2006 10:26:25
Mensagens: 275
Localização: Rio de Janeiro!
Offline

Kra, que eu saiba, a List já ordena automaticamente os índices quando vc chama o método add()...

Perto está o Senhor, dos que têm coração quebrantado.

fabim
GUJ Master
[Avatar]

Membro desde: 14/12/2006 19:30:03
Mensagens: 1268
Localização: Vitoria - Espirito Santo
Offline

Ao usar Collections.sort( seuObjeto ), vai acontecer a ordenação natural... pra objetos String sabemos que é a ordem alfabetica, pra um objeto Number por exemplo sabemos que e a ordem crescente... mas, e pra objetos TIMEDEFUTEBOL? qual é a ordem natural?

O Java nao sabe, entao vc vai te q dizer a ele... para isso, faça seu objeto implementar a interface Comparable, que vai te forçar a implementar o metodo compareTo( Object outroObjeto )... entao nesse metodo vc define que um objeto e maior do q o outro se seu atributo X tem valor maior...

Ou... vc pode criar varios "Comparadores" (Comparator), e entao usar o metodo sobrecarregado Collecions.sort( objeto, comparador ) pra poder comparar seu objeto de varias maneiras possiveis.

ειπεν αυτη ο ιησους εγω ειμι η αναστασις και η ζωη ο πιστευων εις εμε καν αποθανη ζησεται

Sun Certified Web Component Developer
Sun Certified Java Programmer
Sun Certified Java Associate
Sun Certified Business Component Developer - Em Andamento
Bacharelando em Sistemas de Informacao


[MSN]
thingol
Moderador

Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline

Crie um Comparator.

E a propósito, classes são nomeadas em "Pascal Case", ou seja: TimeDeFutebol.

Um exemplo:


E a classe ComparadorDeTimes é assim:

This message was edited 1 time. Last update was at 07/03/2008 15:39:49

[WWW]
thingol
Moderador

Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline

Rage wrote:Kra, que eu saiba, a List já ordena automaticamente os índices quando vc chama o método add()...

List preserva a ordem de inserção; mas ele quer que fiquem ordenados pelo número de campeonatos brasileiros, que é uma coisa diferente.


[WWW]
khichfy
Debugger

Membro desde: 01/02/2008 15:46:33
Mensagens: 62
Offline

to travado...
olha so o que eu tenho



pode me ajudar ... ?
abraços
fabim
GUJ Master
[Avatar]

Membro desde: 14/12/2006 19:30:03
Mensagens: 1268
Localização: Vitoria - Espirito Santo
Offline

releia o exemplo que thingol te deu.

ειπεν αυτη ο ιησους εγω ειμι η αναστασις και η ζωη ο πιστευων εις εμε καν αποθανη ζησεται

Sun Certified Web Component Developer
Sun Certified Java Programmer
Sun Certified Java Associate
Sun Certified Business Component Developer - Em Andamento
Bacharelando em Sistemas de Informacao


[MSN]
khichfy
Debugger

Membro desde: 01/02/2008 15:46:33
Mensagens: 62
Offline

Vleu fabiocs , thingol , rdgms e Rage

FUNCIONOU, e ja comitei

valeu mesmo!

abraços

Julio

This message was edited 2 times. Last update was at 07/03/2008 15:58:18

 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.8 © JForum Team