Map und MapEntry

Status
Nicht offen für weitere Antworten.
L

Lavender

Gast
Hallo!

Folgende Wortstatistik-Methode lässt sich nicht kompilieren:

Code:
public static String wordStatistics (String in)
   {
       Map m = new TreeMap();
       StringTokenizer st = new StringTokenizer(in);
       String wort = "";
       
       while (st.hasMoreTokens())
              wort = st.nextToken();
       
       if (m.get(wort) == null)
           m.put(wort, new Integer(1));                            // Füge wort neu hinzu
  
       else
           m.put(wort, new Integer ((m.get(wort)).intValue()++));  // wort ist schon enthalten
       
       
       Map map = new TreeMap(Comparator c);
       map.putAll(Map m);                                       //hier!
       
       System.out.println (map.toString());
       return map.toString();
   }

Auf einer Zeile soll jeweils ein Wort und die Häufigkeit seines Auftretens stehen. Die Zeilen sollen 1. nach Häufigkeit, und bei gleicher Häufigkeit 2. nach dem Alphabet geordnet sein.

An der markierten Stelle (hier!) wird ausgegeben, dass eine ')' fehlt.
In einer Map lassen sich ja nur Objekt-Typen speichern und der Fehler liegt hier anscheinend im übergebenen Comparator, der noch implementiert werden muss.
Aber wie wird ein geeigneter Comparator für diese TreeMap, in welche die zuerst erzeugte Map hineinkopiert wird, implementiert?

Ich wäre euch sehr dankbar, wenn ihr mir weiterhelfen könntet!
 
B

bygones

Gast
Code:
Map map = new TreeMap(Comparator c); 
       map.putAll(Map m);
das ist so nicht ganz richtig ;)

Code:
Map map = new TreeMap(c); 
       map.putAll(m);
wäre richtig.
 

Wildcard

Top Contributor
Code:
m.put(wort, new Integer ((m.get(wort)).intValue()++));

das ist so auch nicht ganz richtig


Code:
m.put(wort, new Integer (((Integer)(m.get(wort))).intValue()+1));

währe richtig :D
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben