Heim  >  Artikel  >  Java  >  HashMap in Java

HashMap in Java

王林
王林Original
2024-08-30 15:34:13238Durchsuche

In Java können Sie das Array zum Speichern von Daten verwenden. Wenn jedoch die Anforderung besteht, Daten auf Schlüssel- und Wertbasis zu speichern oder abzurufen, müssen Sie dafür HashMap verwenden. Hashmap ist eine Sammlung in Java, die zur Hierarchie der Schnittstelle namens Map gehört. In diesem Artikel werden wir die Hashmap aus der Perspektive der Java-Programmierung diskutieren.

Syntax:

WERBUNG Beliebter Kurs in dieser Kategorie JAVA MASTERY - Spezialisierung | 78 Kursreihe | 15 Probetests

Um HashMap in Ihrem Code zu verwenden, müssen Sie es importieren (java.util.HashMap-Paket importieren) oder seine übergeordnete Klasse.

import java.util.HashMap;
import java.util.Map;
HashMap<datatypeOfkey, dataytpeOfValue> <name_of_hashMap> =new HashMap<datatypeOfkey, dataytpeOfValue> ();

Wobei datatypeOfkey und dataytpeOfValue Integer oder String sein können.

Beispiel:

Map<String, String> newHashMap = new HashMap<>();

Wie funktioniert HashMap in Java?

Hashmap verwendet Hashing-Techniken zum Speichern und Abrufen von Elementen. Zur Speicherung wird eine verknüpfte Liste verwendet, die als Buckets bezeichnet wird. Es verwendet zwei Methoden für den Schlüssel: equal() und hashCode() für Einfüge- und Abrufvorgänge. Beim Einfügen bestimmt hashCode den zu speichernden Bucket. Danach prüft hashCode erneut, ob es bereits einen Schlüssel mit gleichem hashCode gibt; Wenn ja, wird der Wert durch den neuen ersetzt. Wenn nicht, wird die neue Karte erstellt, in der der Wert gespeichert wird. Beim Abrufen von Daten bestimmt hashCode den Bucket für die Suche. Danach rufen hashCode() und equal() den Wert ab und geben ihn zurück. Es gibt null zurück, falls kein Wert vorhanden ist.

HashMap-Konstruktor in Java

Es verfügt über vier Konstruktoren, wie unten erwähnt.

  1. HashMap(): Es ist die Standardversion mit einem Auslastungsfaktor von 0,75 und einer Kapazität von 16.
  2. HashMap(int ): Erstellt HashMap mit der in seinen Argumenten definierten Kapazität. Der Auslastungsfaktor ist hier der Standardwert.
  3. HashMap(int , float ): Erstellt HashMap mit der in seinen Argumenten definierten Kapazität und dem Lastfaktor.
  4. HashMap(Map m): Erstellt HashMap wie in der Argumentzuordnung definiert.

Top 13 Methoden von HashMap in Java

Alle unten beschriebenen Methoden können unabhängig von jeder Java-Version verwendet werden.

  1. öffentlicher Wert get(Objektschlüssel): Wird verwendet, um den Wert des entsprechenden Schlüssels abzurufen.
  2. öffentlicher Wert put(K-Schlüssel, V-Wert): Fügt den Wert ein, der im Argument für den entsprechenden Schlüssel erwähnt wird.
  3. öffentlicher boolescher Wert enthält Schlüssel (Objektschlüssel): Entscheidung, ob der Schlüssel vorhanden ist oder nicht. Beachten Sie, dass der Rückgabetyp boolescher Wert ist.
  4. öffentlicher boolescher Wert enthält Wert (Objektwert): Entscheidung, ob der Wert vorhanden ist oder nicht. Beachten Sie, dass der Rückgabetyp Boolescher Wert ist.
  5. public V remove(Object key): Löscht einen bestimmten Schlüssel und seine HashMap in Wertform, wie im Code angegeben.
  6. public void clear(): Löscht wie erwähnt alle Schlüssel und Werte aus der HashMap.
  7. public boolean isEmpty(): Überprüft, ob HashMap leer ist oder nicht.
  8. Object clone(): Zuordnungen einer HashMap werden von dieser Methode zurückgegeben, um sie für Klonzwecke in eine andere HashMap zu verwenden.
  9. public int size(): Gibt die Größe zurück, also wie viele Schlüssel-Wert-Paare in einer HashMap vorhanden sind.
  10. public Set> enterSet(): Der Zuordnungssatz in HashMap wird von dieser Methode zurückgegeben.
  11. öffentliches Set keySet(): Der in HashMap festgelegte Schlüssel wird von dieser Methode zurückgegeben.
  12. public void putAll(Map ): Kopiert den gesamten Karteninhalt auf die andere.
  13. Sammlungswerte():Sie können eine Sammlung aller Werte für eine HashMap erhalten.

Beispiele für HashMap in Java

HashMap ist eine kartenbasierte Sammlungsklasse, die zum Speichern von Schlüssel- und Wertpaaren verwendet wird. Schauen wir uns ein paar Beispiele an.

Beispiel #1

Wir werden hier einige Codebeispiele von HashMap besprechen. Sie sollten Codes üben, indem Sie sie selbst schreiben und auf dem Java-Compiler ausführen, um die Ausgabe zu überprüfen. Sie können die Ausgabe zur Überprüfung mit der angegebenen Ausgabe abgleichen. Erstellung einer HashMap und Einfügen von Daten darin.

Code:

import java.util.HashMap;
import java.util.Map;
public class CreateHashMapExample {
public static void main(String[] args) {
// Creating a HashMap
Map<String, String> newHashMap = new HashMap<>();
// Addition of key and value
newHashMap.put("Key1", "Java");
newHashMap.put("Key2", "C++");
newHashMap.put("Key3", "Python");
// Addition of new key and value
newHashMap.putIfAbsent("Key4", "Ruby");
System.out.println(newHashMap);
}
}

Ausgabe:

HashMap in Java

Beispiel #2

Nehmen wir ein weiteres Beispiel, bei dem wir eine Zeichenfolge als Schlüssel und eine Ganzzahl als Wert verwenden. Hier messen wir den Schlüssel und seine entsprechenden Werte in Zoll als Wert.

Code:

import java.util.HashMap;
public class CreateHashMapExample2 {
public static void main(String[] args) {
// Create a HashMap object called measurement
HashMap<String, Integer> ms = new HashMap<String, Integer>();
// Add keys and values (Name and phone number of the person)
ms.put("S", 35);
ms.put("M", 38);
ms.put("L", 40);
ms.put("XL", 42);
for (String key : ms.keySet()) {
System.out.println("measurement of " + key + " in inch is: " + ms.get(key));
}
}
}

Ausgabe:

HashMap in Java

Example #3

Here we will do multiple things. We will first create a Hashmap; we will then get its values one by one. After that, we will copy all data of the HashMap to a brand new HashMap. After that, we will remove one item and gets their sizes. If the size is lower by one, the decrease of size by removal is confirmed.

Code:

import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
public class HashMapInJava {
public static void main(String[] args) {
Map<String, String> newHashMap = new HashMap<>();
// Addition of key and value
newHashMap.put("Key1", "Lenovo");
newHashMap.put("Key2", "Motorola");
newHashMap.put("Key3", "Nokia");
newHashMap.put("Key4", null);
newHashMap.put(null, "Sony");
System.out.println("Original map contains:" + newHashMap);
//getting size of Hashmap
System.out.println("Size of original Map is:" + newHashMap.size());
//copy contains of one Hashmap to another
Map copyHashMap = new HashMap<>();
copyHashMap.putAll(newHashMap);
System.out.println("copyHashMap mappings= " + copyHashMap);
//Removal of null key
String nullKeyValue = copyHashMap.remove(null);
System.out.println("copyHashMap null key value = " + nullKeyValue);
System.out.println("copyHashMap after removing null key = " + copyHashMap);
System.out.println("Size of copyHashMap is:" + copyHashMap.size());
}
}

Output:

HashMap in Java

Did you notice one thing in the output of HashMap in all of our examples while we print the key and values? The print is not in sorted order. Hashmap is not like an array, so scan and print need to be sorted; it can pick random based on its hash value.

Conclusion

You should use HashMap when your code or use case requires the handling of data in key-value pairs. In this article, we have learned about hashmaps in Java with code examples. First, however, you should practice writing codes on your own to master this topic.

Recommended Article

This is a guide to the HashMap in Java. Here we discuss Introduction to HashMap in Java and its Methods along with Code implementation and Output. You can also go through our suggested articles to learn more –

  1. HTML Frames
  2. HTML Attributes
  3. What is JVM?
  4. Java ClassNotFoundException

Das obige ist der detaillierte Inhalt vonHashMap in Java. 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
Vorheriger Artikel:Java-Aufruf per ReferenzNächster Artikel:Java-Aufruf per Referenz