2016-06-22 6 views
-4

Ich habe eine Methode, die Schlüsselwörter auf einen bestimmten Wert abbildet. Ich möchte die tatsächliche hashmap zurückgeben, damit ich seine Schlüssel/Wert-Paare referenzieren kannIst es möglich, ein HashMap-Objekt in Java zurückzugeben?

+1

Ja, es ist möglich, warum nicht? – tkausl

+1

Können Sie Ihrer Frage bitte einen Code hinzufügen? Dann schauen wir uns an, ob das, was Sie tun möchten, richtig ist. – mdewit

+1

'public Map getMyMagicMap (endgültiger Eingabe-Eingang)'? –

Antwort

1

Ja. Es ist leicht möglich, genau wie jedes andere Objekt Rückkehr:

public Map<String, String> mapTheThings(String keyWord, String certainValue) 
{ 
    Map<String, String> theThings = new HashMap<>(); 
    //do things to get the Map built 
    theThings.put(keyWord, certainValue); //or something similar 
    return theThings; 
} 

Anderswo

Map<String, String> actualHashMap = mapTheThings("keyWord", "certainValue"); 
String value = actualHashMap.get("keyWord"); //The map has this entry in it that you 'put' into it inside of the other method. 

Hinweis, sollten Sie es vorziehen, den Rückgabetyp Map statt HashMap zu machen, wie ich oben tat, weil es als Best Practice zu immer program to an interface rather than a concrete class angesehen. Wer soll sagen, dass Sie in Zukunft keine TreeMap oder etwas ganz anderes wollen werden?

+3

Besser, Rückgabetyp die Schnittstelle Map. Dies geschieht, damit, wenn sich die Implementierung beispielsweise von HashMap zu TreeMap ändert, der aufrufende Code nicht notwendigerweise geändert werden muss. – Grayson

+0

@Grayson Guter Punkt. Das hätte ich getan, das OP hat nur nach HashMap gefragt. Ich habe es jedoch geändert, weil das auch mein Gefühl ist. –

+1

@ Cache Staheli - wenn wir lehren, sollten wir Best Practices fördern. ;-) – Grayson