2012-09-24 16 views
6

Tengo un ArrayList que contiene fechas con un formato (Satuday, 4 de febrero de 2012). ¿Cómo puedo ordenar esto ArrayList?Ordenamiento de fecha ArrayList

+1

¿Qué has hecho? para hacerlo? lo has intentado? –

+0

¿qué clase estás usando para tus fechas? – idanakav

+0

¿En qué tipo necesita comenzar ya sea día, fecha o año? – Aerrow

Respuesta

14

Ésta es una de la forma más sencilla para ordenar,

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

Si usted tiene cualquier requisito especial, mientras que la clasificación, por lo que puede hacerlo proporcionando su propia Comparator. Por ejemplo:

//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; 
    } 
}); 

El elemento clave es que está convirtiendo el objeto Dateen milisegundos (usando getTime()) para la comparación.

+0

De lo contrario, simplemente use Collections.sort (); como @Aerrow dijo. Las fechas son [comparables] (http://docs.oracle.com/javase/6/docs/api/java/util/Date.html#compareTo (java.util.Date)). – titogeo

Cuestiones relacionadas