Ordenar List ou Collection ou algo assim [RESOLVIDO]

como faz pra ordenar uma COllection ou List ?? os objetos dentro dela implemental comprable … como faz pra ondenar mesmo ?

como assim? n entendi

tenho uma coleção com 30 objetos… que implementam comprable… ou seja… da preu saber quem é maior que quem…

sendo assim… deveria ter 1 forma de ordenar… via comandos java, e acredito que tem… ainda estou procurando… o como… mais q tem tem ^^

Pelo que me lembro, List não tem o método compareTo não.
Até porque se os objetos da lista forem classes, vc não pode compará-las umas com as outras.

Voce deve comparar os atributos das classes.

Exemplo:

[code] public class ObjetoX {
private int idade;
public getIdade() {
return this.idade;
}
}

public void adiciona(ObjetoX) {
for(int i=0 ; i<lista.zie() ; ++i) {
if(lista.getIdade < ObjetoX.getIdade()) {
// TODO …
}
}
}
[/code]

Arrays.sort(list.toArray())

pronto achei como…

java.util.Collection.sort(list);

ops… pessoal ai respondeu antes deste post… de toda forma… tem como fazer a listagem ao contrario ?? ^^ na ordem inversa ?

java.util.Collection.sort(list);

[quote=thiagotrss]Pelo que me lembro, List não tem o método compareTo não.
Até porque se os objetos da lista forem classes, vc não pode compará-las umas com as outras.

[/quote]

Se forem classes tem que implementar a interface Comparable. que é o a classe Arrays usa

[]'s

[quote=thiagotrss]Pelo que me lembro, List não tem o método compareTo não.
Até porque se os objetos da lista forem classes, vc não pode compará-las umas com as outras.

Voce deve comparar os atributos das classes.
[/quote]

tem como sim… por exemplo… na classe abaixo fiz assim … é beta, por isso ta xeio de returns… vou refatorar ^^

public class VeiculoLocacao implements Comparable<VeiculoLocacao> { //... public int compareTo(VeiculoLocacao o) { if (o.isNuncaLocado()) if (isNuncaLocado()) return 0; else return 1; else if (o.isLocado()) if (isLocado()) return this.getPrevisaoRetorno().compareTo(o.getPrevisaoRetorno()); else return -1; else return this.getDisponivelDesde().compareTo(o.getDisponivelDesde()); } //...

[quote=Lavieri]pronto achei como…

java.util.Collection.sort(list);

ops… pessoal ai respondeu antes deste post… de toda forma… tem como fazer a listagem ao contrario ?? ^^ na ordem inversa ?[/quote]

Collections.sort(list, Collections.reverseOrder());

PS: Leia toda a documentação do Collections e do Arrays. Tem dezenas de métodos muito úteis.