Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    34

    Ordinare in ordine decrescente le coppie (chiave,valore) di una TreeMap

    Ciao a tutti,ho un piccolo problema a cui non riesco proprio a venire a capo....

    ho una TreeMap che contiene al suo interni oggetti di tipo Comparable....tanto per intenderci contiene oggetti della classe con coppie (word,count)

    class Counter implements Comparable {
    String word;
    int count;
    public Counter(String word) {
    this.word = word;
    count = 1;
    }
    }

    e ogni volta controlla se la chiave (quindi la word) è già presente nella TreeMap,se è presente incrementa il suo contatore (count),se non è presente la inserisce....quindi otterrò una TreeMap con un elenco di coppie (chiave,valore) del tipo (word,numero di occorrenze della word).....esempio (ciao,1) (come,5) (stai,3)....

    Avrei bisogno di ordinare la TreeMap in ordine decrescente del valore...quindi ottenere una TreeMap ordinata cosi : (come,5) (stai,3) (ciao,1).....in cui la prima coppia (chiave.valore) è quella con il valore più alto....

    come posso fare? non riesco a capire dove sbaglio nei miei vari tentativi e mi sono bloccato!!!!

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,315
    Se stai utilizzando una TreeMap allora dovresti avere gli oggetti ordinati in modo crescente (TreeMap implementa SortedMap).
    Questo sigifnica che, scorrendo la TreeMap al contrario dovresti ottenere il risultato voluto.


    In alternativa, puoi ridefinire il metodo compareTo() in modo che l'ordinamento avvenga in modo decrescente.
    Ci penserà TreeMap a garantire l'ordinamento.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.