2012-09-24 45 views
6

Tôi có số ArrayList có chứa ngày có định dạng (Satuday, 4 Februray 2012). Làm thế nào tôi có thể sắp xếp này ArrayList?Sắp xếp ngày ArrayList

+1

Bạn đã làm gì? làm như vậy ? bạn đã thử chưa –

+0

bạn đang sử dụng lớp nào cho các ngày của mình? – idanakav

+0

Bạn cần bắt đầu từ ngày hoặc ngày hoặc năm nào? – Aerrow

Trả lời

14

Đây là một trong những cách đơn giản nhất để sắp xếp,

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

Nếu bạn có bất kỳ yêu cầu đặc biệt trong khi phân loại, vì vậy bạn có thể làm điều đó bằng cách cung cấp của riêng bạn Comparator. Ví dụ:

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

Yếu tố mấu chốt là bạn đang chuyển đổi đối tượng Date của bạn vào mili giây (sử dụng getTime()) để so sánh.

+0

Khác chỉ sử dụng Collections.sort (); như @Aerrow nói. Ngày tháng có thể so sánh được (http://docs.oracle.com/javase/6/docs/api/java/util/Date.html#compareTo (java.util.Date)). – titogeo

Các vấn đề liên quan