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?
Antwort
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?
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
@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. –
@ Cache Staheli - wenn wir lehren, sollten wir Best Practices fördern. ;-) – Grayson
Ja, es ist möglich, warum nicht? – tkausl
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
'public Map getMyMagicMap (endgültiger Eingabe-Eingang)'? –