Ho notato che Comparator è molto simile a Comparable che io ho proficuamente utilizzato più volte. In effetti Comparator richiede anche l'implementazione del metodo equals() che non è richiesta per Comparable.
Se il tuo scopo è quello di poter ordinare un array di oggetti, allora ti consiglio di implementare Comparable (ti risparmi un metodo), comunque il metodo principale è uguale (cambia solamente il nome: per Comparator si chiama compare(), mentre per Comparable si chiama compareTo()).
Quello che devi fare tu è implementare il metodo compare() in modo che restituisca un intero. Il numero intero che viene restituito deve seguire le seguenti regole:

1) Deve essere negativo se il primo oggetto è minore del secondo oggetto;

2) Deve essere uguale a 0 se i due oggetti sono uguali

3) Deve essere maggiore di 0 se il primo oggetto è maggiore del secondo oggetto;
Esempio: prendiamo questo piccolo esempio:
codice:
String s1 = "Abcd";
String s2 = "Dcba";

compare(s1, s2) --> ritorna un numero negativo
compare(s1, s1) --> ritorna 0
compare(s2, s1) --> ritorna un numero positivo
Vediamo, quindi, un esempio di ordinamento, con una classe che implementa Comparable:
codice:
public class MioOggetto implements Comparator {
   private int[] mioDato;
   public MioOggetto() { mioDato = new int[2]; }
   public int [] getDato() { return mioDato; }
   public int compare(Object o1, Object o2) {
      /* Questo metodo effettua un ordinamento sulle coppie di interi
       * L'ordinamento è il seguente:
       * (A, B) < (C, D) se e solo se (A < C) oppure ((A = C) e (B < D))
       * (A, B) = (C, D) se e solo se (A = C) e (B = D)
       * altrimenti (A, B) > (C, D)
       */

       MioOggetto mo1 = (MioOggetto) o1;
       MioOggetto mo2 = (MioOggetto) o2;
       int [] altroDato1 = mo1.getDato();
       int [] altroDato2 = mo2.getDato();
       return (altroDato1[0] == altroDato2[0]) ?
                   altroDato1[1]-altroDato2[1] :
                   altroDato1[0]-altroDato2[0];
   }
}
Non ho fatto delle prove ma dovrebbe andare.

A questo punto, se hai un array di MioOggetto, puoi passarli ad Arrays.sort() in questo modo:
codice:
MioOggetto [] array = ...;
Arrays.sort( array );
Ciao.