Initialisieren HashMap in Java
- Initialisieren einer HashMap auf traditionelle Weise in Java
- Initialisieren einer HashMap durch Erstellen einer anonymen Unterklasse in Java
-
Initialisieren einer HashMap mit einem Schlüssel-Wert-Paar mit
Collections.singletonMap()
in Java -
Initialisieren einer HashMap mit
Collectors.toMap()
in Java 8 -
Initialisieren einer HashMap mit
Map.of()
in Java 9
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 Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn