2013-08-17 3 views
0

У меня есть дата, как String date="June 02,2013" и т.д .....Java Сортировка Дата поле

Я хочу упорядочить поле Дата по возрастанию и убыванию

Может ли один помочь?

Я попытался это упорядочить поле название

Сортировать по названию работы с последующим кодом:

public void sortByTitle() { 
     Comparator<Show> comperator = new Comparator<Show>() { 
      @Override 
      public int compare(Show object1, Show object2) { 
       return object1.getTitle().compareToIgnoreCase(
         object2.getTitle()); 
      } 
     }; 
     Collections.sort(dataFromDB, comperator); 
     lv1.setAdapter(new CustomListViewAdapter(this, dataFromDB)); 
    } 
+3

Почему вы хранить дату в виде строки, чтобы начать с? Если вы можете изменить свое поле как поле, основанное на дате (в идеале «LocalDate» от Joda Time), это упростит вашу жизнь повсюду. –

+0

и где находится объект 'Date'? Вам нужно преобразовать эту строку в 'Date' или использовать lib, например Joda Time, что намного лучше, чем java date api – nachokk

+0

Не могли бы вы помочь, как преобразовать этот формат String в Date? –

ответ

3

Try это ...

Collections.sort(datestring, new Comparator<String>() { 
    DateFormat f = new SimpleDateFormat("MMM dd,yyyy"); 
    @Override 
    public int compare(String o1, String o2) { 
     try { 
      return f.parse(o1).compareTo(f.parse(o2)); 
     } catch (ParseException e) { 
      throw new IllegalArgumentException(e); 
     } 
    } 
}); 

вам необходимо изменить формат даты в приведенном выше коде.

ОБНОВЛЕНО: Обновленный DateFormat проверить это ..