2017-01-24 2 views
0

Beim Ausführen des folgenden Abschnitts tritt ein Fehler in der Methode getValue() auf. Ich habe versucht, s als Argument innerhalb getValue() übergeben. Funktioniert dort auch nicht.Verwenden der Methode "getValue" für Map in Java vom Typ <String, Integer>

//Mymap<String,Integer>()  
while(in.hasNext()){ 
    //in is a scanner object 
    String s = in.next(); 
    // Write code here 
    //s is a string to be searched 
    if (Mymap.containsKey(s)) { 
     //the value corresponding to s is to be retrieved 
     Integer i= (Integer)Mymap.getValue(); 
     System.out.println(i); 
     System.out.println(s+"="+Mymap.get(s)); 
    } else { 
     System.out.println("Not found"); 
    } 
} 
+1

Was ist 'Mymap'? 'getValue' existiert nicht in der Schnittstelle' Map', es existiert nur in 'Map.Entry' –

+0

Was meinst du mit Iteration auf dem EntrySet @Rouliboy – aayushi

+0

getValue macht auf der Map-Oberfläche keinen Sinn, es existiert nicht. Iterate über EntrySet, wenn Sie müssen. Wenn Sie den Wert eines bestimmten Schlüssels erhalten möchten, verwenden Sie 'Map.get (s)'. Aber ich verstehe nicht, was du mit getValue machen willst – Rouliboy

Antwort

0

Okay, wie andere darauf hingewiesen, wobei das Verfahren getValue()nicht vorhanden sind, damit die Übersetzungsfehler.

Here is the list aller Methoden der HashMap-Klasse.

Wenn Sie den ganzzahligen Wert wollen, die dem Schlüssel s entsprechen und speichern sie in i, sollten Sie Mymap.get(s) nennen ... wie Sie in der Zeile haben:

System.out.println(s+"="+Mymap.get(s)); 
Verwandte Themen