Sono riuscito a implementare l'ordinamento facendo uso di un TreeSet unitamente al TreeMap nel seguente modo:
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).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()); }
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.

Rispondi quotando