Olha só… eu entendi.
Só que eu fiz uma classe que estende de GregorianCalendar e implementa Comparator. Assim, ao invés de utilizar a classe Calendar ou até mesmo a classe GregorianCalendar (originais) eu utilizo a minha classe, pois nela tem implementado o método compare(obj1, obj2).
ex:
Vamos supor que eu tenha um array de Calendar e quero ordená-lo.
Utilizando a classe que eu fiz, MyCalendar(está postada uns dois tópicos acima), eu posso utilizar o método Collections.sort(List a, Comparator c)
assim:
...
Colections.sort( meuArray, new MyCalendar() );
...
Assim ele irá utilizar o método compare da minha classe.
Outra forma seria utilizar minha própria classe para trabalhar com datas, pois ela estende de GregorianCalendar, e alem do mais ela já implementa Comparator. Dessa forma eu posso utilizar a Collections.sort(List a) direto.
Então ao invés de ter um array de Calendar eu terei um array de MyCalendar. Para ordenar meu array eu faço o seguinte:
...
Colections.sort( meuArray );
...
Eu criei essa classe e utilizei o primeiro método: Collections.sort(meuArray, new MyCalendar)
fazendo assim ficou legal.
o que você acha?
Luiz