Estou com o seguinte problema:
Tenho um ArrayList de objetos, esses objetos tem um atributo data do tipo String.
Como faço para ordená-los? De modo que os objetos sejam alocados dentro do ArrayList de forma cronológica crescente.
A classe dos objetos que vão estar contidos no ArrayList precisa implementar o método compareTo da interface Comparable
Você cria uma classe implementando a interface Comparator, e através dela você realiza a ordenação como quiser.
Após isso, dê uma olhada na classe Collections, especialmente o método sort() (método de ordenação) e seus variantes.
[Editado: tinha dado uma instrucao errada:D]
ivandasilva
Você também pode implementar a interface Comparable como alternativa a Comparator.
renamed
publicstaticvoidmain(String[]args){List<String>nomes=newArrayList<String>();nomes.add("Zilda");nomes.add("Fulano");nomes.add("Beutrano");nomes.add("Ela");nomes.add("Ele");Collections.sort(nomes,newComparator<String>(){@Overridepublicintcompare(Stringarg0,Stringarg1){//Aqui você vai comparar, é esse método que o método sort vai chamar//quando ele quiser ordenar.//Essa função deve retornar negativo se o primeiro menor q o segundo, positivo se//segundo maior que primeiro e 0 se forem iguais. Como tenho uma lista//de string, esse método já está implementado na própria classe string,//mas se vc tiver um objeto próprio, criado por vc, terá de implementar//esse método.returnarg0.compareTo(arg1);}});for(inti=0;i<nomes.size();i++){System.out.println(nomes.get(i));}}
Estou com o seguinte problema:
Tenho um ArrayList de objetos, esses objetos tem um atributo data do tipo String.
Como faço para ordená-los? De modo que os objetos sejam alocados dentro do ArrayList de forma cronológica crescente.
Obrigado!
Cara, porque tu não dá uma olhada no site da caelum e baixa a postilinha web que eles estão disponibilizando de graça. La tem um capítulo, acho que de Collections que explica como ordenar em Collections, Muito bacana a apostila…