Heim > Java > javaLernprogramm > Wie kann ich eine HashMap in Java effizient initialisieren?

Wie kann ich eine HashMap in Java effizient initialisieren?

Patricia Arquette
Freigeben: 2024-12-25 13:52:13
Original
748 Leute haben es durchsucht

How Can I Initialize a HashMap in Java Efficiently?

Eine HashMap-Literatur initialisieren

Eine Java-HashMap mit bestimmten Schlüssel-Wert-Paaren auf prägnante und wörtliche Weise zu initialisieren, war für Entwickler eine schwer fassbare Funktion. Fortschritte in Java haben jedoch den Weg für eine vereinfachte Kartenerstellung geebnet.

Java 9 und höher: Factory-Methoden

Ab Java Version 9 führt die Map-Klasse Factory-Methoden ein, die die Kartenerstellung optimieren:

  • Map.of: Kann Karten mit bis zu 10 Elementen erstellen unter Verwendung einer prägnanten Syntax:

    Map<String, String> test1 = Map.of("a", "b", "c", "d");
    Nach dem Login kopieren
  • Map.ofEntries: Erstellt Karten mit einer beliebigen Anzahl von Elementen:

    import static java.util.Map.entry;
    
    Map<String, String> test2 = Map.ofEntries(
      entry("a", "b"),
      entry("c", "d")
    );
    Nach dem Login kopieren

Es ist jedoch wichtig zu beachten, dass diese Methoden zu unveränderlichen Karten führen. Für veränderliche Karten können Sie eine Kopie erstellen mit:

mutableMap = new HashMap<>(Map.of("a", "b"));
Nach dem Login kopieren

Java 8 und früher: Anonyme Klasse oder Funktion

Vor Java 9 wurde die direkte Literalinitialisierung nicht unterstützt. Um einen ähnlichen Effekt zu erzielen, können Sie die folgenden Techniken anwenden:

  • Anonyme Klasse mit Initialisierer: Definieren Sie eine anonyme Unterklasse, die die Karte in ihrem Konstruktor initialisiert:

    Map<String, String> myMap = new HashMap<String, String>() {{
      put("a", "b");
      put("c", "d");
    }};
    Nach dem Login kopieren
  • Funktion zur Initialisierung: Erstellen Sie eine Funktion zum Generieren Erstellen Sie eine Karte und verwenden Sie sie im Initialisierer:

    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;
    }
    Nach dem Login kopieren

Der letztere Ansatz ist sauberer und vermeidet potenzielle Fallstricke, die mit anonymen Unterklassen verbunden sind.

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

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage