Ola pessoal, tenho um problema para ordena um objeto, que tem um nome e uma data, preciso ordenar pela data, esses objetos estão em um arraylist, como faço para ordenar pela data. Pois já vi varios exemplos, porem não entendi bem como funciona, se um objeto de apenas um elemento data, valor, ou nome, seria facil. porem tenho, data, nome e outros campos variaveis nesse objeto.
cheguei a ver esse exemplo, porem não entendi como ele gera uma nova lista de objetos ordenados.
public class OrdenarObj implements Comparator{
String formato1 = "yyyy-MM-dd HH:mm:ss";
DateFormat form = new SimpleDateFormat(formato1);
Date data1, data2 = null;
public int compare ( Object o1, Object o2 ) {
try {
String date1 = form.format(o1); //Data para String
String date2 = form.format(o2); //Data para String
data1 = (Date) form.parse(date1);
data2 = (Date) form.parse(date2);
} catch (ParseException ex) {
Logger.getLogger(OrdenarObj.class.getName()).log(Level.SEVERE, null, ex);
}
return data1.compareTo(data2);
}
}
lista_obj_ok = lista_objetos;
OrdenarObj sort = new OrdenarObj();
Objlog ob = new Objlog();
for(int i=0; i < lista_obj_ok.size(); i++){
ob = (Objlog) lista_obj_ok.get(i);
Date data1str = ob.getDatahora();
Date data2str = ob.getDatahora();
sort.compare(data1str,data2str);
}
// como faria para obter minha lista de objetos organizada apos o for.
Como faria para obter minha lista organizada no final do for.
desde já agradeço.
Batista