Sono riuscito a implementare l'ordinamento facendo uso di un TreeSet unitamente al TreeMap nel seguente modo:

codice:
(*) TreeSet ts = new TreeSet(new Comparator() {
   	            						public int compare(Object obj, Object obj1) {
(*)	            												int vcomp = ((Comparable) ((Map.Entry) obj1).getValue()).compareTo(((Map.Entry) obj).getValue());
(*)	            												if (vcomp != 0) return vcomp;
	            												else return ((Comparable) ((Map.Entry) obj1).getKey()).compareTo(((Map.Entry) obj).getKey());
	            						}
	        						});
	        
(*)	        ts.addAll(elenco.entrySet());
	        System.out.println("+++ Lista dei collaboratori (NOME,OCCORRENZE) +++\r\n");
(*)	        for (Iterator i = ts.iterator(); i.hasNext();) {
(*)	            Map.Entry entry = (Map.Entry) i.next();
	            System.out.println(Acquisizione.estrapolaNome(Acquisizione.strutturaSchedaAttore(entry.getKey().toString())) + " - " + entry.getValue());
	        }
ma mi vengono segnalati alcuni warnings (dove ho messo l'asterisco) che comunque non hanno conseguenze sul funzionamento del programma e che in java 5 non vengono segnalate (io ho jre 1.6).
Nello specifico mi viene detto che i riferimenti al tipo generico TreeSet<E> devono essere parametrizzati e la stessa cosa mi viene detta per Map<K,V>.Entry<K,v>.
Ma cosa si intende per parametrizzare? Ho provato a modificare sostituendo TreeSet con TreeSet<Object> e Map.Entry con Map<String,Integer>.Entry<String,Integer> ma a questo punto da errore.