nando0mb
Tenta usar o método iterator http://java.sun.com/javase/6/docs/api/java/util/Iterator.html faz o laço com o hasNext() e depois as regras de negócio.
Abraço
ignacio83
Vc pode fazer de duas maneiras
-
Implemente a Interface Comparable em AutoUf
-
Ou crie uma classe que implemente Comparator
Nesse caso chame o método passando uma instância da classe que implementou Comparator:
Collections.sort(ufs, new SeuComparator());
BrunoCarlo
Emerson Silva:
Pessoal, estou com uma dúvida de como ordenar uma List de objetos do banco.
Eu tenho uma entity AutoUf e estou tentando trazer uma list dela ordenada mas não estou conseguindo.
Meu caso é o seguinte…
List<AutoUf> ufs = autoTipoConsulta.getAutosUfs();
for (AutoUf autoUf : ufs) {
acForm.getUfs().put( autoUf.getUf() , autoUf.getCodUf() );
}
Já tentei utilizar por exemplo:
Mas ele não deixa pois a minha entity AutoUf não extend a classe que ele pede…
Alguém poderia me ajudar?
Faça sua classe implementar um Comparable
Lavieri
Para que uma classe que vc criou se torne Ordenável, vc precisa implementar Comparable... ou seja...
public class AutoUf implements Serializable, Comparable<AutoUf> {
private String uf;
//....
public int compareTo(AutoUf other) {
return uf.compareTo(other.uf);
}
}
assim eu informo, que a minha classe AutoUf, tem ordem natural por UF....
a outra forma de ordenar, quando a classe não é ordenavel, é falar de que forma eu quero ordenar, criando um comparator...
Comparator<AutoUf> porUf = new Comparator<AutoUf>() {
public int compare(AutoUf o1, AutoUf o2) {
o1.getUf().compareTo(o2.getUf());
}
};
Collections.sort(ufs,porUf);