Frage:
Ist es möglich, eine Java HashMap zu initialisieren? auf eine prägnante Art und Weise wie diese?
Map<String,String> test = new HashMap<String, String>{"test":"test","test":"test"};
Wenn ja, was ist richtig Syntax?
Antwort für Java Version 9 oder höher:
Ja, dies ist jetzt mit den in Java 9 hinzugefügten Factory-Methoden möglich:
// For up to 10 elements Map<String, String> test1 = Map.of("a", "b", "c", "d"); // For any number of elements import static java.util.Map.entry; Map<String, String> test2 = Map.ofEntries(entry("a", "b"), entry("c", "d"));
Antwort bis Java Version 8:
Leider direkt Eine Initialisierung in der bereitgestellten Syntax ist nicht möglich. Sie können jedoch eine anonyme Unterklasse verwenden, um den Code zu kürzen:
Map<String, String> myMap = new HashMap<String, String>() {{ put("a", "b"); put("c", "d"); }};
Alternativ können Sie eine Funktion zur Initialisierung erstellen:
Map<String, String> myMap = createMap(); private static Map<String, String> createMap() { Map<String,String> myMap = new HashMap<String,String>(); myMap.put("a", "b"); myMap.put("c", "d"); return myMap; }
Das obige ist der detaillierte Inhalt vonWie initialisiere ich eine Java HashMap direkt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!