Ma devi necessariamente implementare tu l'algoritmo di ordinamento? Se no, allora puoi sfruttare il metodo sort della classe Collections. Questo metodo in una delle sue "forme" riceve come parametri la lista da riordinare è un Comparator. Il comparator è responsabile della comparazione tra due oggetti. Nel tuo caso puoi fare una cosa simile:
Codice PHP:
public class DataComparatorTester {
public static void main(String[] args) {
Vector<Oggetto> oggetti = new Vector<Oggetto>();
oggetti.add(new Oggetto(new GregorianCalendar(2010, 0, 31)));
oggetti.add(new Oggetto(new GregorianCalendar(2010, 1, 10)));
oggetti.add(new Oggetto(new GregorianCalendar(2010, 2, 11)));
Collections.sort(oggetti, new DataComparator());
for (Oggetto oggetto : oggetti) {
System.out.println(oggetto.getDataOggetto().get(Calendar.DAY_OF_MONTH) + "/" + oggetto.getDataOggetto().get(Calendar.MONTH) + "/" + oggetto.getDataOggetto().get(Calendar.YEAR));
}
}
}
class Oggetto {
private GregorianCalendar dataOggetto;
public Oggetto(GregorianCalendar dataOggetto) {
setDataOggetto(dataOggetto);
}
public GregorianCalendar getDataOggetto() {
return this.dataOggetto;
}
public void setDataOggetto(GregorianCalendar value) {
this.dataOggetto = value;
}
}
class DataComparator implements Comparator<Oggetto>{
public int compare(Oggetto o1, Oggetto o2) {
//Ordinamento decrescente
return o2.getDataOggetto().compareTo(o1.getDataOggetto());
//ordinamento crescente
//return o1.getDataOggetto().compareTo(o2.getDataOggetto());
}
}
Se servono chiarimenti fammi sapere