Heim >Java >javaLernprogramm >Wie initialisiert man eine HashMap in Java effizient?

Wie initialisiert man eine HashMap in Java effizient?

Susan Sarandon
Susan SarandonOriginal
2024-12-17 20:18:11946Durchsuche

How to Efficiently Initialize a HashMap in Java?

So initialisieren Sie eine HashMap direkt und präzise

Viele Java-Entwickler wünschen sich eine unkomplizierte Möglichkeit, eine HashMap mit Schlüssel-Wert-Paaren zu initialisieren. Leider fehlt der Standardbibliothek von Java eine Syntax, die dies direkt berücksichtigt.

Java-Versionen 9 und höher

Für Java 9 und höher gibt es jedoch gute Nachrichten! Zur Vereinfachung der Kartenerstellung wurden neue Factory-Methoden eingeführt:

  • Map.of: Akzeptiert bis zu 10 Schlüssel-Wert-Paare in der Form Map.of("key1", „value1“, „key2“, „value2“, ...)
  • Map.ofEntries: Behandelt eine beliebige Zahl von Einträgen mit Map.ofEntries(entry("key1", "value1"), enter("key2", "value2"), ...)

Beispiel:

// Using Map.of for up to 10 elements
Map<String, String> test1 = Map.of("a", "b", "c", "d");

// Using Map.ofEntries for any number of elements
Map<String, String> test2 = Map.ofEntries(entry("a", "b"), entry("c", "d"));

Java-Versionen 8 und niedriger

Für frühere Java-Versionen müssen Sie jedes Element manuell hinzufügen. Hier ist eine etwas prägnantere Option mit einem anonymen Unterklasseninitialisierer:

Beispiel:

Map<String, String> myMap = new HashMap<>() {{
    put("a", "b");
    put("c", "d");
}};

Hinweis:

  • Dieser Ansatz erstellt eine zusätzliche Klasse, die möglicherweise das Gedächtnis und die Leistung beeinträchtigt.
  • Es kann einen Verweis auf enthalten das erstellende Objekt, das die Speicherbereinigung verhindert.

Eine Alternative mit einer Funktion:

Beispiel:

Map<String, String> myMap = createMap();

private static Map<String, String> createMap() {
    Map<String,String> myMap = new HashMap<>();
    myMap.put("a", "b");
    myMap.put("c", "d");
    return myMap;
}

Das obige ist der detaillierte Inhalt vonWie initialisiert man eine HashMap in Java effizient?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn