"non funziona" cosa vuol dire?



Scegli la priorità dell'ordinamento e fai confronti a catena.

Ad esempio, se vuoi ordinare per cognome, nome e matricola basta fare una cosa del genere dentro il tuo compareTo:

codice:
int cmp;

cmp = cognome.compareTo(altroCognome);
if (cmp == 0) {
    cmp = nome.compareTo(altroNome);

    if (cmp == 0) {
        cmp = matricola - altraMatricola;
    }
}  

return cmp;
Confronti i cognomi: se sono uguali passi a confrontare i nomi e cosi via...