Initialisieren HashMap in Java

Rupam Yadav 12 Oktober 2023
  1. Initialisieren einer HashMap auf traditionelle Weise in Java
  2. Initialisieren einer HashMap durch Erstellen einer anonymen Unterklasse in Java
  3. Initialisieren einer HashMap mit einem Schlüssel-Wert-Paar mit Collections.singletonMap() in Java
  4. Initialisieren einer HashMap mit Collectors.toMap() in Java 8
  5. Initialisieren einer HashMap mit Map.of() in Java 9
Initialisieren HashMap in Java

HashMap ist eine sehr bequeme Möglichkeit, Daten in einem Schlüssel-Wert-Paar zu speichern. Es gibt mehrere Möglichkeiten, eine HashMap zu initialisieren, und mit jedem Update hat Java es einfacher gemacht, dies zu erreichen.

Initialisieren einer HashMap auf traditionelle Weise in Java

Die gebräuchlichste und standardmäßige Methode zum Initialisieren einer HashMap ist im folgenden Programm angegeben.

Wir deklarieren eine Map und setzen die Key-Value-Datentypen im Beispiel als String ein. Wir initialisieren die HashMap mit new HashMap().

Diese Art der Initialisierung generiert einen veränderlichen Typ von HasMap, und wir fügen einige Daten darin ein, indem wir die Methode put() verwenden, wobei das erste Argument der key ist. Das zweite Argument ist der value.

Im letzten Statement drucken wir die ganze HashMap aus.

import java.util.HashMap;
import java.util.Map;

public class Main {
  public static void main(String[] args) {
    Map<String, String> hashMap = new HashMap<>();
    hashMap.put("key1", "String1");
    hashMap.put("key2", "String2");
    hashMap.put("key3", "String3");

    System.out.println(hashMap);
  }
}

Ausgabe:

{key1=String1, key2=String2, key3=String3}

Initialisieren einer HashMap durch Erstellen einer anonymen Unterklasse in Java

Eine andere Möglichkeit, eine HashMap zu initialisieren, besteht darin, doppelte Klammern und die Methode put() zu verwenden, um die Daten einzufügen.

Wir deklarieren und initialisieren zuerst eine HashMap mit den Daten im folgenden Code. Das mapExample ist änderbar, und wir können nach der Initialisierung andere Daten eingeben.

Diese Art der Initialisierung der Karte wird nicht empfohlen, da sie eine neue Unterklasse mit einer anonymen Klasse erstellt und eine zusätzliche Klasse kein sehr effizienter Weg ist.

import java.util.HashMap;
import java.util.Map;

public class Main {
  public static void main(String[] args) {
    Map<String, String> mapExample = new HashMap<>() {
      {
        put("Key01", "String01");
        put("Key02", "String02");
        put("Key03", "String03");
      }
    };

    mapExample.put("Key04", "String04");
    System.out.println(mapExample);
  }
}

Ausgabe:

{Key01=String01, Key02=String02, Key03=String03, Key04=String04}

Initialisieren einer HashMap mit einem Schlüssel-Wert-Paar mit Collections.singletonMap() in Java

Dies ist eine Möglichkeit, eine HashMap zu initialisieren, indem nur Daten eines einzelnen Schlüssel-Wert-Paars darin eingefügt werden. Wir verwenden die statische Methode singletonMap() der Klasse Collections, die eine unveränderliche Karte mit nur einem einzigen Eintrag zurückgibt.

Im folgenden Beispiel rufen wir die Funktion Collections.singletonMap() auf und übergeben die Key-Value-Daten. Die Map ist unveränderlich, sodass wir nach der Initialisierung keine weiteren Daten ändern oder einfügen können.

import java.util.Collections;
import java.util.Map;

public class Main {
  public static void main(String[] args) {
    Map<String, String> mapExample = Collections.singletonMap("key1", "value1");
    System.out.println(mapExample);
  }
}

Ausgabe:

{key1=value1}

Initialisieren einer HashMap mit Collectors.toMap() in Java 8

Im Java 8-Update wurde die Stream-API eingeführt, eine Sequenz von Elementen, die Methoden zum Ausführen von Operationen für verschiedene Typen in Java enthalten, wie Sammlungen und Arrays.

Das folgende Programm zeigt die Verwendung von Stream. Wir verwenden die Stream-API, um die Methode of() aufzurufen, die sequentiell ein einzelnes Element in einem Stream zurückgibt.

In der Methode of() übergeben wir den Objekttyp des zurückzugebenden Elements. Wir geben new String[][] an, was ein Array vom Typ String ist, und fügen dann in das Array die Schlüssel-Wert-Paare ein.

Um den sequentiellen Strom von String-Array-Elementen in eine Map umzuwandeln, rufen wir die collect()-Methode auf, und in dieser Funktion rufen wir Collectors.toMap() auf, das die übergebenen Daten in eine Map.

In der Methode Collectors.toMap() nehmen wir das erste Element des Arrays und setzen es als Schlüssel und das zweite als Wert. Nach all dem gibt der stream eine einzelne Map zurück, die wir in mapExample speichern.

import java.util.Map;
import java.util.stream.Collectors;
import java.util.stream.Stream;

public class Main {
  public static void main(String[] args) {
    Map<String, String> mapExample =
        Stream.of(new String[][] {{"key1", "21"}, {"key2", "22"}, {"key3", "33"}})
            .collect(Collectors.toMap(
                collectorData -> collectorData[0], collectorData -> collectorData[1]));

    System.out.println(mapExample);
  }
}

Ausgabe:

{key1=21, key2=22, key3=33}

Initialisieren einer HashMap mit Map.of() in Java 9

Eine andere Möglichkeit, eine HashMap zu initialisieren, ist die Verwendung der Funktion Map.of() der Java-9-Version. Map.of() bildet die paarweise übergebenen Schlüssel und Werte ab und gibt dann eine unveränderliche HashMap zurück.

Beachten Sie, dass Map.of() nur maximal zehn Einträge aufnehmen kann.

import java.util.Map;

public class Main {
  public static void main(String[] args) {
    Map<String, String> mapExample = Map.of("key1", "Value1", "key2", "Value2", "key", "Value3");

    System.out.println(mapExample);
  }
}

Ausgabe:

{key=Value3, key1=Value1, key2=Value2}
Rupam Yadav avatar Rupam Yadav avatar

Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.

LinkedIn

Verwandter Artikel - Java HashMap