HashMap in Java

โšก Intelligente Zusammenfassung

HashMap in Java Speichert Daten als eindeutige Schlรผssel-Wert-Paare, die schnell รผber den Schlรผssel abgerufen werden kรถnnen. Es speichert Objektverweise anstelle von primitiven Datentypen, weshalb Wrapper-Klassen verwendet werden, und bietet Methoden wie put, get, remove und containsKey.

  • ๐Ÿ—๏ธ HashMap definiert: Speichert eindeutige Schlรผssel, die Werten zugeordnet sind, um einen schnellen Abruf รผber den Schlรผssel zu ermรถglichen.
  • ๐Ÿ“ฆ Objektverweise: Speichert nur Objekte, verwenden Sie daher Wrapper-Klassen wie Integer anstelle von primitiven Datentypen.
  • ๐Ÿ”ง Kernmethoden: put() speichert ein Paar, get() ruft einen Wert ab, remove() lรถscht anhand des Schlรผssels.
  • ๐Ÿ” Nachschlagevorgรคnge: containsKey(), keySet(), values() und isEmpty() prรผfen den Inhalt der Map.
  • ๐Ÿงช Beispiele: Beispielprogramme erstellen eine Karte, drucken sie aus und entfernen einen Eintrag anhand eines Schlรผssels.

HashMap in Java

Was ist Hashmap in Java?

Eine HashMap bezeichnet grundsรคtzlich eindeutige Schlรผssel entsprechend Werte die jederzeit abgerufen werden kann.

HashMap in Java

Funktionen Java Hashmap

a) Die Werte kann in einer Karte gespeichert werden, indem eine gebildet wird Schlรผsselwert Paar. Der Wert kann mithilfe des Schlรผssels abgerufen werden, indem er an die richtige Methode รผbergeben wird.

b) Wenn kein Element in der Karte vorhanden ist, wird ein 'NoSuchElementException'.

c) Nur HashMap-Speicher Objektreferenzen. Aus diesem Grund ist die Verwendung nicht mรถglich primitive Datentypen wie double oder int. Verwenden Sie Wrapper-Klassen (wie Integer oder Double) stattdessen.

Funktionen Java Hashmap

Verwenden von HashMaps in Java Programme:

Im Folgenden sind zwei Mรถglichkeiten zum Deklarieren einer Hash-Map aufgefรผhrt:

HashMap<String, Object> map = new HashMap<String, Object>();
HashMap x  = new HashMap();

Wichtige Hashmap-Methoden

  • get(Objekt SCHLรœSSEL) โ€“ Dadurch wird der Wert zurรผckgegeben, der mit einem angegebenen Schlรผssel in diesem verknรผpft ist Java Hashkarte.
  • put(Object KEY, String VALUE) โ€“ Diese Methode speichert den angegebenen Wert und ordnet ihn dem angegebenen Schlรผssel in dieser Map zu.

Java Hashmap-Beispiel

Nachfolgend sehen Sie ein Beispiel fรผr die Implementierung einer Java-Hash-Map:

import java.util.HashMap;
import java.util.Map;
public class Sample_TestMaps{
  public static void main(String[] args){
    Map<String, String> objMap = new HashMap<String, String>();
    objMap.put("Name", "Suzuki");
    objMap.put("Power", "220");
    objMap.put("Type", "2-wheeler");
    objMap.put("Price", "85000");
    System.out.println("Elements of the Map:");
    System.out.println(objMap);
  }
}

Ausgang:

Elements of the Map:
{Type=2-wheeler, Price=85000, Power=220, Name=Suzuki}

Beispiel: Entfernen Sie einen Wert aus HashMap basierend auf dem Schlรผssel

import java.util.*;
public class HashMapExample {
   public static void main(String args[]) {
   // create and populate hash map
   HashMap<Integer, String> map = new HashMap<Integer, String>();
   map.put(1,"Java");
   map.put(2, "Python");
   map.put(3, "PHP");
   map.put(4, "SQL");
   map.put(5, "C++");
   System.out.println("Tutorial in Guru99: "+ map);
   // Remove value of key 5
   map.remove(5);
   System.out.println("Tutorial in Guru99 After Remove: "+ map);
   }
}

Ausgang:

Tutorial in Guru99: {1=Java, 2=Python, 3=PHP, 4=SQL, 5=C++}
Tutorial in Guru99 After Remove: {1=Java, 2=Python, 3=PHP, 4=SQL}

Lassen Sie uns ein paar Fragen an die Hash Map selbst stellen, um sie besser kennenzulernen

F: Also Herr Hash Map, wie kann ich herausfinden, ob Ihnen ein bestimmter Schlรผssel zugewiesen wurde?

A: Cool, Sie kรถnnen bei mir die Methode โ€žcontainsKey(Object KEY)โ€œ verwenden. Sie gibt einen booleschen Wert zurรผck, wenn ich einen Wert fรผr den angegebenen Schlรผssel habe.

F: Wie finde ich alle verfรผgbaren Schlรผssel, die auf der Karte vorhanden sind?

A: Ich habe eine Methode namens as Schlรผsselsatz(), das alle Schlรผssel auf der Karte zurรผckgibt. Wenn Sie im obigen Beispiel eine Zeile schreiben als โ€“
System.out.println(objMap.keySet());

Es wird zurรผckkehren und Mรถglichkeiten fรผr das Ausgangssignal: wie-
[Name, Typ, Leistung, Preis]

Wenn Sie nur alle Werte benรถtigen, habe ich ebenfalls eine Methode von Werte().
System.out.println(objMap.values());

Es wird zurรผckkehren und Mรถglichkeiten fรผr das Ausgangssignal: wie-
[Suzuki, Zweirad, 2, 220]

F: Angenommen, ich muss nur einen bestimmten Schlรผssel aus der Karte entfernen. Muss ich dann die gesamte Karte lรถschen?

A: Nein, Kumpel!! Ich habe eine Methode von entfernen(Objekt-SCHLรœSSEL), der nur dieses bestimmte Schlรผssel-Wert-Paar entfernt.

F: Wie kรถnnen wir รผberprรผfen, ob Sie tatsรคchlich einige Schlรผssel-Wert-Paare enthalten?

A: รœberprรผfen Sie einfach, ob ich leer bin oder nicht!! Kurz gesagt, verwenden ist leer() Methode gegen mich..

Hรคufig gestellte Fragen

HashMap ist nicht synchronisiert und erlaubt einen Null-Schlรผssel und mehrere Null-Werte, wodurch sie in einem Single-Thread-Betrieb schneller ist. Hashtable ist synchronisiert und erlaubt keine Null-Schlรผssel oder -Werte, wodurch sie threadsicher, aber langsamer ist.

Ja. Eine HashMap erlaubt genau einen Null-Schlรผssel und beliebig viele Null-Werte. Der Versuch, einen zweiten Null-Schlรผssel hinzuzufรผgen, รผberschreibt einfach den Wert des bereits vorhandenen Null-Schlรผssels.

Nein. HashMap garantiert keine bestimmte Reihenfolge der Schlรผssel. Wenn Sie die Einfรผgereihenfolge benรถtigen, verwenden Sie LinkedHashMap, und wenn Sie eine nach Schlรผssel sortierte Reihenfolge benรถtigen, verwenden Sie stattdessen TreeMap.

KI kann Zugriffsmuster wie Suchvorgรคnge, Reihenfolge und Parallelitรคtsanforderungen analysieren und dann HashMap, TreeMap, LinkedHashMap oder ConcurrentHashMap empfehlen, um die Verarbeitung zu vereinfachen.ping Entwickler wรคhlen die effizienteste Sammlung fรผr ihren Anwendungsfall aus.

Ja. KI-gestรผtzte Analysen kรถnnen eine gemeinsam genutzte HashMap erkennen, auf die mehrere Threads ohne Synchronisierung zugreifen, und ConcurrentHashMap oder externe Sperren empfehlen, um Race Conditions und Datenbeschรคdigung zu vermeiden.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: