Io farei due ArrayList di ArrayList!
Un ArrayList contenente le date e ogni sottoarray l'orario, ed un ArrayList contente gli orari e nei sottoarray tutte le date!
Per l'ordinamento dell'ArrayList penso che tu debba crearti l'algoritmo (un Quick Sort)!
Per il formato, l'oggetto GregorianCalendar va bene (il Data è praticamente "Deprecated"!).
Non sono sicuro sull'utilizzo di due ArrayList ... ad occhio e croce dovrebbe essere utile per la ricerca... ma dato l'orario... potrei sbagliarmi!![]()
Ciao!