Heim > Java > javaLernprogramm > So arbeiten Sie mit HashMap in Java

So arbeiten Sie mit HashMap in Java

Mary-Kate Olsen
Freigeben: 2025-01-25 04:15:09
Original
620 Leute haben es durchsucht

How to Work with HashMap in Java

Dieser umfassende Leitfaden untersucht Javas HashMap, eine robuste Datenstruktur für die effiziente Speicherung und Verwaltung von Schlüssel-Wert-Paaren. Wir behandeln grundlegende Methoden und stellen praktische Beispiele zur Verfügung, um Ihr Verständnis zu festigen.


HashMap verstehen

HashMap speichert Daten als Schlüssel-Wert-Paare und bietet (im Durchschnitt) eine zeitlich konstante Komplexität für Kernoperationen wie put, get und remove. Zu den wichtigsten Vorteilen gehören:

  • Eindeutige Schlüssel: Jeder Schlüssel muss eindeutig sein; Werte können dupliziert werden.
  • Vielseitige Datentypen: Schlüssel und Werte können beliebige Objekttypen sein.
  • Paketort: Befindet sich im java.util Paket.
  • Null-Behandlung: Akzeptiert null sowohl als Schlüssel als auch als Wert.

Anschauliches Beispiel:

<code class="language-java">import java.util.HashMap;

public class HashMapDemo {
    public static void main(String[] args) {
        HashMap<Integer, String> myMap = new HashMap<>();

        // Adding entries
        myMap.put(1, "Apple");
        myMap.put(2, "Banana");
        myMap.put(3, "Cherry");

        // Retrieving a value
        System.out.println(myMap.get(1)); // Output: Apple
    }
}</code>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

HashMap-Erstellung

Der HashMap Konstruktor ist unkompliziert:

<code class="language-java">HashMap<KeyType, ValueType> mapName = new HashMap<>();</code>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Beispiel:

<code class="language-java">HashMap<String, Integer> wordCounts = new HashMap<>();</code>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Hier stellt String den Schlüsseltyp und Integer den Werttyp dar.


Grundlegende HashMap-Methoden

Lassen Sie uns in häufig verwendete HashMapMethoden eintauchen:

1. put(K key, V value)

  • Funktionalität: Fügt ein Schlüssel-Wert-Paar hinzu. Wenn der Schlüssel vorhanden ist, wird der Wert aktualisiert.
  • Beispiel:
<code class="language-java">import java.util.HashMap;

public class HashMapDemo {
    public static void main(String[] args) {
        HashMap<Integer, String> myMap = new HashMap<>();

        // Adding entries
        myMap.put(1, "Apple");
        myMap.put(2, "Banana");
        myMap.put(3, "Cherry");

        // Retrieving a value
        System.out.println(myMap.get(1)); // Output: Apple
    }
}</code>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

2. get(Object key)

  • Funktionalität: Ruft den mit dem angegebenen Schlüssel verknüpften Wert ab. Gibt null zurück, wenn der Schlüssel fehlt.
  • Beispiel:
<code class="language-java">HashMap<KeyType, ValueType> mapName = new HashMap<>();</code>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

3. getOrDefault(Object key, V defaultValue)

  • Funktionalität: Ruft den Wert ab; Wenn der Schlüssel fehlt, wird defaultValue.
  • zurückgegeben
  • Beispiel:
<code class="language-java">HashMap<String, Integer> wordCounts = new HashMap<>();</code>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

4. containsKey(Object key)

  • Funktionalität:Überprüft, ob die Karte den angegebenen Schlüssel enthält.
  • Beispiel:
<code class="language-java">HashMap<Integer, String> myMap = new HashMap<>();
myMap.put(1, "Apple");
myMap.put(2, "Banana");
myMap.put(1, "Orange"); // Updates value for key 1
System.out.println(myMap); // Output: {1=Orange, 2=Banana}</code>
Nach dem Login kopieren

5. containsValue(Object value)

  • Funktionalität:Überprüft, ob die Karte den angegebenen Wert enthält.
  • Beispiel:
<code class="language-java">System.out.println(myMap.get(1)); // Output: Orange
System.out.println(myMap.get(4)); // Output: null</code>
Nach dem Login kopieren

6. remove(Object key)

  • Funktionalität: Entfernt den Eintrag für den angegebenen Schlüssel und gibt seinen Wert zurück (oder null, wenn er nicht gefunden wird).
  • Beispiel:
<code class="language-java">System.out.println(myMap.getOrDefault(4, "Default")); // Output: Default</code>
Nach dem Login kopieren

7. putIfAbsent(K key, V value)

  • Funktionalität: Fügt das Schlüssel-Wert-Paar nur hinzu, wenn der Schlüssel noch nicht vorhanden ist.
  • Beispiel:
<code class="language-java">System.out.println(myMap.containsKey(1)); // Output: true
System.out.println(myMap.containsKey(4)); // Output: false</code>
Nach dem Login kopieren

8. replace(K key, V value)

  • Funktionalität:Ersetzt den Wert für den Schlüssel nur, wenn der Schlüssel vorhanden ist.
  • Beispiel:
<code class="language-java">System.out.println(myMap.containsValue("Orange")); // Output: true
System.out.println(myMap.containsValue("Grape")); // Output: false</code>
Nach dem Login kopieren

9. keySet()

  • Funktionalität: Gibt einen Set aller Schlüssel in der Karte zurück.
  • Beispiel:
<code class="language-java">System.out.println(myMap.remove(1)); // Output: Orange
System.out.println(myMap); // Output: {2=Banana}</code>
Nach dem Login kopieren

10. values()

  • Funktionalität: Gibt einen Collection aller Werte in der Karte zurück.
  • Beispiel:
<code class="language-java">myMap.putIfAbsent(3, "Cherry"); // No change if key 3 exists
System.out.println(myMap);</code>
Nach dem Login kopieren

11. entrySet()

  • Funktionalität: Gibt einen Set aller Schlüssel-Wert-Paare (Map.Entry) zurück.
  • Beispiel:
<code class="language-java">myMap.replace(2, "Mango");
System.out.println(myMap);</code>
Nach dem Login kopieren

12. compute(K key, BiFunction remappingFunction)

  • Funktionalität: Aktualisiert den Wert mithilfe einer bereitgestellten Funktion.
  • Beispiel: (Erfordert eine BiFunction Implementierung)
<code class="language-java">import java.util.HashMap;

public class HashMapDemo {
    public static void main(String[] args) {
        HashMap<Integer, String> myMap = new HashMap<>();

        // Adding entries
        myMap.put(1, "Apple");
        myMap.put(2, "Banana");
        myMap.put(3, "Cherry");

        // Retrieving a value
        System.out.println(myMap.get(1)); // Output: Apple
    }
}</code>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

13. merge(K key, V value, BiFunction remappingFunction)

  • Funktionalität: kombiniert einen neuen Wert mit dem vorhandenen Wert mit einer Funktion.
  • Beispiel: (erfordert eine BiFunction -Implementierung)
<code class="language-java">HashMap<KeyType, ValueType> mapName = new HashMap<>();</code>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

umfassendes Beispiel: Wortfrequenzanalyse

Dieses Beispiel zeigt HashMap zum Zählen von Wortfrequenzen:

<code class="language-java">HashMap<String, Integer> wordCounts = new HashMap<>();</code>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Schlussfolgerung

HashMap ist eine grundlegende Java-Datenstruktur, die eine effiziente Verwaltung von Schlüsselwertpaaren bietet. Das Beherrschen seiner Methoden ermöglicht es Ihnen, verschiedene Programmierherausforderungen zu bewältigen, von einfachen Daten -Lookups bis hin zu ausgefeilten Datenmanipulationsaufgaben. Integrieren Sie HashMap in Ihre Projekte, um seine Macht und Effizienz zu nutzen.

Das obige ist der detaillierte Inhalt vonSo arbeiten Sie mit HashMap in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage