以下のようにコンパレータを書きます
public class MyComparator implements Comparator<AvailablePeriod> {
@Override
public int compare(AvailablePeriod o1, AvailablePeriod o2) {
int result = o1.getStart().compareTo(o2.getStart());
if (result == 0) {
result = o1.getEnd().compareTo(o2.getEnd());
}
if (result == 0) {
result = Integer.valueOf(o1.getId()).compareTo(o2.getId());
}
return result;
}
}
次に Collection.sort メソッドを使用します
List<AvailablePeriod> periodList = new ArrayList<AvailablePeriod>
Collections.sort(periodList , new MyComparator());