Was ist Hashmap in Java? Mit Beispielen erklärt
Veröffentlicht: 2021-07-02HashMap ist eine Sammlungsklasse in Java. Sie können es verwenden, um Schlüssel-Wert-Paare zu speichern. Seine Leistung hängt von der Anfangskapazität und dem Lastfaktor ab. HashMap verfügt über verschiedene Methoden, mit denen Sie die Datenstruktur der Hash-Tabelle verwenden können.
Im folgenden Artikel untersuchen wir, was HashMap ist, und erfahren anhand von Beispielen mehr über die verschiedenen Konstruktoren.
Inhaltsverzeichnis
Was ist HashMap?
HashMap ist eine Sammlungsklasse, die auf Map basiert. Wir verwenden es, um Schlüssel-Wert-Paare zu speichern. Sie bezeichnen eine HashMap Java als HashMap<K, V>, wobei K für Key und V für Value steht.
HashMap ähnelt der Klasse Hashtable. Der Unterschied zwischen den beiden besteht darin, dass HashMap nicht synchronisiert ist, während Hashtable dies nicht ist. Außerdem erlaubt HashMap im Gegensatz zu Hashtable Nullwerte und den Nullschlüssel.
Da HashMap keine geordnete Sammlung ist, gibt es die Schlüssel und Werte nicht in der Reihenfolge zurück, in der Sie sie einfügen. Außerdem sortiert HashMap die gespeicherten Schlüssel und Werte nicht. Wenn Sie die HashMap-Klasse und ihre Methoden verwenden möchten, müssen Sie java.util.HashMap (oder ihre Oberklasse) importieren.
HashMap bietet Ihnen eine einfache Implementierung der Map-Schnittstelle von Java. Sie können auf die Schlüssel-Wert-Paare zugreifen, die Sie über HashMap speichern, indem Sie einen Index eines anderen Typs (z. B. eine ganze Zahl) verwenden. Beachten Sie, dass bei Verwendung eines doppelten Schlüssels das Element des entsprechenden Schlüssels ersetzt wird. Außerdem können Sie nur ein Nullschlüsselobjekt verwenden; es kann jedoch eine beliebige Anzahl von Nullwerten geben.
HashMap implementiert klonbare, serialisierbare, Map<K, V>-Schnittstellen. Sie erweitert die Klasse AbstractMap<K, V> und ihre direkten Unterklassen sind PrinterStateReasons und LinkedHashMap.
Funktionen von HashMap
Im Folgenden sind die Hauptfunktionen von HashMap aufgeführt:
- Es ist eine Komponente des java.util.package.
- Sie können doppelte Werte verwenden, aber HashMap erlaubt keine doppelten Schlüssel. Dies bedeutet, dass ein Schlüssel nicht mehrere Werte haben kann, aber mehrere Schlüssel einen einzelnen Wert haben können.
- Sie können Nullschlüssel nur einmal verwenden, aber Sie können verschiedene Nullwerte verwenden.
- HashMap gibt keine Garantien bezüglich der Reihenfolge der Karte. Es garantiert also nicht, dass die Reihenfolge konstant bleibt.
- HashMap ist Hashtable sehr ähnlich, mit dem einzigen Unterschied, dass HashMap nicht synchronisiert ist.
- HashMap implementiert eine serialisierbare und klonbare Schnittstelle.
HashMap-Konstruktoren
Es gibt vier Konstruktoren in HashMap:
1. HashMap()
HashMap() ist der Standardkonstruktor, der eine Instanz mit einem Lastfaktor von 0,75 und einer Anfangskapazität von 16 erstellt.
Beispiel :
// Zeigt, wie der HashMap()-Konstruktor funktioniert
java.io.* importieren;
java.util.* importieren;
Klasse AddElementsToHashMap {
public static void main(String args[])
{
// Du musst das nicht erwähnen
// Generischer Typ zweimal
HashMap<Integer, String> hm1 = new HashMap<>();
// Verwenden von Generics zum Initialisieren von HashMap
HashMap<Ganzzahl, Zeichenfolge> hm2
= new HashMap<Integer, String>();
// Verwenden Sie die Put-Methode, um ein beliebiges Element hinzuzufügen
hm1.put(1, „A“);
hm1.put(2, „B“);
hm1.put(3, „C“);
hm2.put(4, „D“);
hm2.put(5, „E“);
hm2.put(6, „F“);
System.out.println(“Ergebnisse von hm1 sind: “
+hm1);
System.out.println(“Ergebnisse von HashMap hm2 sind: “
+hm2);
}
}
Ausgang :
Ergebnisse von hm1 sind: {1=A, 2=B, 3=C}
Ergebnisse von hm2 sind: {4=D, 5=E, 6=F}
2. HashMap (int Anfangskapazität)
HashMap(int initialCapacity) würde eine Instanz mit einer Last von 0,75 und einer bestimmten Anfangskapazität erstellen.
Beispiel :
// Zeigt, wie der HashMap(int initialCapacity)-Konstruktor funktioniert
java.io.* importieren;
java.util.* importieren;
Klasse AddElementsToHashMap {
public static void main(String args[])
{
// Du musst das nicht erwähnen
// Generischer Typ zweimal
HashMap<Integer, String> hm1 = new HashMap<>(10);
// Verwenden von Generics zum Initialisieren von HashMap
HashMap<Ganzzahl, Zeichenfolge> hm2
= new HashMap<Integer, String>(2);
// Verwenden Sie die Put-Methode, um ein beliebiges Element hinzuzufügen
hm1.put(1, „A“);
hm1.put(2, „B“);
hm1.put(3, „C“);
hm2.put(4, „D“);
hm2.put(5, „E“);
hm2.put(6, „F“);
System.out.println(“Ergebnisse von hm1 sind: “
+hm1);
System.out.println(“Ergebnisse von HashMap hm2 sind: “
+hm2);
}
}
Ausgang :
Ergebnisse von hm1 sind: {1=A, 2=B, 3=C}
Ergebnisse von hm2 sind: {4=D, 5=E, 6=F}
3. HashMap (int initialCapacity, float loadFactor)
HashMap(int initialCapacity, float loadFactor) generiert eine Instanz mit einem bestimmten Lastfaktor und einer bestimmten Anfangskapazität.
Beispiel :
// Zeigt, wie der HashMap(int initialCapacity, float loadFactor)-Konstruktor funktioniert
java.io.* importieren;
java.util.* importieren;
Klasse AddElementsToHashMap {
public static void main(String args[])
{
// Du musst das nicht erwähnen
// Generischer Typ zweimal
HashMap<Ganzzahl, Zeichenfolge> hm1
= neue HashMap<>(5, 0.75f);
// Verwenden von Generics zum Initialisieren der HashMap
HashMap<Ganzzahl, Zeichenfolge> hm2
= new HashMap<Integer, String>(3, 0.5f);
// Verwenden Sie die put-Methode, um Elemente hinzuzufügen
hm1.put(1, „A“);
hm1.put(2, „B“);
hm1.put(3, „C“);
hm2.put(4, „D“);
hm2.put(5, „E“);
hm2.put(6, „F“);
System.out.println(“Ergebnisse von hm1 sind: “
+hm1);
System.out.println(“Ergebnisse von HashMap hm2 sind: “
+hm2);
}
}
Ausgang :
Ergebnisse von hm1 sind: {1=A, 2=B, 3=C}
Ergebnisse von hm2 sind: {4=D, 5=E, 6=F}
4. HashMap (Kartenkarte)
HashMap(Map map) würde eine Instanz mit denselben Zuordnungen wie die von Ihnen angegebene Map erstellen.
Beispiel :
// Zeigt, wie der HashMap(Map map)-Konstruktor funktioniert
java.io.* importieren;
java.util.* importieren;
Klasse AddElementsToHashMap {
public static void main(String args[])
{
// Du musst das nicht erwähnen
// Generischer Typ zweimal
Map<Integer, String> hm1 = new HashMap<>();
// Verwenden von Generics zum Initialisieren von HashMap
HashMap<Ganzzahl, Zeichenfolge> hm2
= new HashMap<Integer, String>(hml);
// Verwenden Sie die Put-Methode, um ein beliebiges Element hinzuzufügen
hm1.put(1, „A“);
hm1.put(2, „B“);
hm1.put(3, „C“);
hm2.put(4, „D“);
hm2.put(5, „E“);
hm2.put(6, „F“);
System.out.println(“Ergebnisse von hm1 sind: “
+hm1);
System.out.println(“Ergebnisse von HashMap hm2 sind: “
+hm2);
}
}
Ausgang :
Ergebnisse von hm1 sind: {1=A, 2=B, 3=C}
Ergebnisse von hm2 sind: {4=D, 5=E, 6=F}
Erfahren Sie mehr über Java
Java hat neben HashMap viele Klassen. Es ist eine ziemliche Herausforderung, sich selbst über das Wesentliche jeder dieser Klassen, ihre Verwendung und Integration in Java zu informieren. Der beste Weg, diesen Prozess zu durchlaufen, ist die Teilnahme an einem Informatikkurs.
Die Teilnahme an einem professionellen Kurs ermöglicht es Ihnen, die erforderlichen Fähigkeiten und Konzepte durch einen strukturierten Lehrplan zu beherrschen. Darüber hinaus bieten solche Kurse ein immersives Lernerlebnis, das durch Videos, Live-Sitzungen und Online-Vorlesungen erleichtert wird, die Ihnen das Verständnis der theoretischen Grundlagen erleichtern.
Sie können sich unser Master of Science in Computer Science- Programm ansehen, das in Zusammenarbeit mit der LJMU (Liverpool John Moores University, UK) und dem IIIT-B (International Institute of Information Technology, Indien) angeboten wird. Der Kurs umfasst mehr als 500 Stunden Inhalt, mehr als 10 Live-Vorträge und mehr als 30 Fallstudien.
Dieser 19-monatige Kurs verspricht eine sehr wertorientierte und globale Lernerfahrung. Der größte Mehrwert liegt in der Tatsache, dass Sie mit Gleichgesinnten aus der ganzen Welt in Kontakt treten und sich mit ihnen austauschen können. upGrad rühmt sich, mehr als 40.000 bezahlte globale Lernende in über 85 Ländern zu haben. Infolgedessen sind Sie neuen Kulturen, neuen Meinungen und neuen Perspektiven ausgesetzt, die Ihren Gesamtblick erweitern. Darüber hinaus werden Sie von fachkundigen Mentoren der LJMU und des IIIT-B geschult, die Ihnen engagierte und personalisierte Unterstützung bieten, um Ihre Zweifel auszuräumen.
Neben diesen Vorteilen bietet Ihnen dieses Programm eine 360-Grad-Karriereunterstützung, die Branchen-Mentoring, Networking-Möglichkeiten und vieles mehr umfasst.
Fazit
In diesem Artikel haben wir anhand von Beispielen gelernt, was HashMap ist, welche verschiedenen Konstruktoren es gibt und wie Sie sie implementieren können. HashMap hat eine Menge Anwendungen in Java – Sie können HashMap verwenden, um Elemente hinzuzufügen, sie zu entfernen und sie nach Bedarf zu verwalten.
Was halten Sie von diesem Leitfaden zu HashMap? Teilen Sie sie im Kommentarbereich unten.