2012-09-24 8 views
6

J'ai un ArrayList qui contient des dates au format (Samedi 4 février 2012). Comment puis-je trier ce ArrayList?Tri de Date ArrayList

+1

Qu'avez-vous fait? faire cela ? as-tu essayé? –

+0

quelle classe utilisez-vous pour vos dates? – idanakav

+0

Dans quel genre devez-vous commencer soit le jour, soit la date, soit l'année? – Aerrow

Répondre

14

Ceci est l'un des plus simple façon de trier,

Collections.sort(<Your Array List>); 
5

Si vous avez des exigences particulières lors du tri, de sorte que vous pouvez le faire en fournissant votre propre Comparator. Par exemple:

//your List 
ArrayList<Date> d = new ArrayList<Date>(); 

//Sorting 
Collections.sort(d, new Comparator<Date>() { 
    @Override 
    public int compare(Date lhs, Date rhs) { 
     if (lhs.getTime() < rhs.getTime()) 
      return -1; 
     else if (lhs.getTime() == rhs.getTime()) 
      return 0; 
     else 
      return 1; 
    } 
}); 

L'élément clé est que vous convertissez votre objet Date en millisecondes (en utilisant getTime()) à titre de comparaison.

+0

Sinon, utilisez simplement Collections.sort (); comme l'a dit @Aerrow. Les dates sont [comparables] (http://docs.oracle.com/javase/6/docs/api/java/util/Date.html#compareTo (java.util.Date)). – titogeo