Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di tagibo
    Registrato dal
    Sep 2005
    Messaggi
    62

    [JAVA] Da HashMap a TreeMap

    Ho una HashMap composta da coppie (frequenza, parola), cioè la frequenza in cui parola appare in un file .txt già riversato nella HashMap.

    Ora io dovrei formare delle nuove coppie (x,y) da stampare su file, dove x parole compaiono esattamente y volte.
    Devo scrivere un metodo
    codice:
    Iterator count(Iterator it)
    che riceve un iteratore sui valori della Map h e rende un iteratore sull’ entrySet() di una nuova Map, una TreeMap, che contiene le coppie (x, y).

    Non conosco per niente le TreeMap, potreste darmi qualche suggerimento su come implementare questo metodo??
    Grazie a tutti.

  2. #2
    Utente di HTML.it L'avatar di tagibo
    Registrato dal
    Sep 2005
    Messaggi
    62
    Allora, io ho scritto questo codice:
    codice:
    public static Map m=new HashMap(500);
    ......
    public static Iterator count(Iterator itr) {
         Map tree=new TreeMap();
         while (itr.hasNext()) {
             Object k = itr.next();
             if (!tree.containsValue(m.get(k))) tree.put(new Integer(1),m.get(k));
             else {
                   Integer val = (Integer) tree.get(k);
    	       tree.put(new Integer(val.intValue() + 1),m.get(k));
    	      }
         }
         Set s=tree.entrySet();
         Iterator i = s.iterator();
         return i;
    }
    Il porblema è che mi dà una ClassCastException sull'istruzione in neretto.
    Non so proprio cosa fare, è da un po' che ci sto ragionando ma non vengo mai a capo di questo problema.
    Qualcuno mi dà una mano?

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    724
    da object passi a string e da string a integer, nn so se funziona l'ho fatta al volo

    int val=Integer.parseInt((tree.get(k)).toString());

  4. #4
    Utente di HTML.it L'avatar di tagibo
    Registrato dal
    Sep 2005
    Messaggi
    62
    java.lang.ClassCastException: java.lang.Integer
    at java.lang.String.compareTo(Unknown Source)
    at java.util.TreeMap.compare(Unknown Source)
    at java.util.TreeMap.getEntry(Unknown Source)
    at java.util.TreeMap.get(Unknown Source)
    at metodi.count(metodi.java:148)
    at metodi.index(metodi.java:88)
    at metodi.main(metodi.java:48)
    Exception in thread "main"
    Niente da fare....

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    724
    ma ti dice (Unknown Source) prova a fare un debug e a vedere cosa ti restituisce la map.get(k); magari è una cavolata ma li sembra che nn ti ritorna niente...

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    724
    nel codice che mi hai mandato manca la definizione di alcune variabili e il main... Mandami tutto completo

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    724
    da dove viene questa classe?

    ScanDirectory(path, formato);

    e questa var?

    Input.readLine();

    mandami anche un file per provare il programma, altrimenti non ci posso fare niente

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 © 2024 vBulletin Solutions, Inc. All rights reserved.