Javaで日時を基準にソートする方法です。
ソートする為に
関数を使用します。
日付をメンバーに持つ自前のクラスを作成し、
それをArrayListに代入して日付を基準にしてソートします。
| 1 2 3 4 5 6 7 | public class EventDate {     private int year;     private int month;     private int day;     private int hour;     private int minutes; } | 
yearなどの日付をメンバーに持つEventDataクラスを定義しました。
このクラスオブジェクトをソートしたいと思います。
適当にEventDateクラスを作成し、
ArrayListに代入し、ソート関数を実行します。
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | // 日にちをメンバーに持つeventDateListを作成する ArrayList<EventDate> eventDateList = createEventDataList(); Collections.sort(eventDateList, new Comparator<EventDate>() {             @Override             public int compare(EventDate o1, EventDate o2) {                 if(o1.getYear() == o2.getYear()){                     if(o1.getDay() == o2.getDay()){                         if(o1.getHour() == o2.getHour()){                             return o1.getMinutes() - o2.getMinutes();                         }                         else{                             return o1.getHour() - o2.getHour();                         }                     }                     else{                         return o1.getDay() - o2.getDay();                     }                 }                 else{                     return o1.getYear() - o2.getYear();                 }             }         }); | 
まずは、年を基準にソートし、日付…という順にソートするので、
結果として日付ベースでソートされることになります。
また、
o1.~ – o2.~で昇順にソートされ
o2.~ – o1.~で降順にソートされます。

codemore code
~~~~