Java HashMap merge()-Methode

Java HashMap Java HashMap

Die merge()-Methode prüft zunächst, ob der angegebene Schlüssel existiert. Wenn er nicht existiert, fügt sie das Schlüssel-Wert-Paar zur hashMap hinzu.

Die Syntax der merge()-Methode ist:

hashmap.merge(key, value, remappingFunction)

Hinweis:hashmap ist ein Objekt der Klasse HashMap.

Details zu den Parametern:

  • key - der Schlüssel
  • value - der Wert
  • remappingFunction - die Remapping-Funktion, die verwendet wird, um den Wert neu zu berechnen

Rückgabewert

Wenn der zum Schlüssel gehörende Wert nicht existiert, wird der Wert zurückgegeben; wenn er existiert, wird der über remappingFunction neu berechnete Wert zurückgegeben.

Beispiel

Das folgende Beispiel zeigt die Verwendung der merge()-Methode:

Beispiel

import java.util.HashMap;

class Main {
    public static void main(String[] args) {
    // Eine HashMap erstellen
    HashMap<String, Integer> prices = new HashMap<>();

    // Zuordnungen in die HashMap einfügen
    prices.put("Shoes", 200);
    prices.put("Bag", 300);
    prices.put("Pant", 150);
    System.out.println("HashMap: " + prices);

    int returnedValue = prices.merge("Shirt", 100, (oldValue, newValue) -> oldValue + newValue);
    System.out.println("Price of Shirt: " + returnedValue);

    // Aktualisierte HashMap ausgeben
    System.out.println("Aktualisierte HashMap: " + prices);
    }
}

Das Ausführen des obigen Programms erzeugt die folgende Ausgabe:

HashMap: {Pant=150, Bag=300, Shoes=200}
Price of Shirt: 100
Updated HashMap: {Pant=150, Shirt=100, Bag=300, Shoes=200}

Im obigen Beispiel haben wir eine HashMap namens prices erstellt.

Beachten Sie den Ausdruck:

prices.merge("Shirt", 100, (oldValue, newValue) -> oldValue + newValue)

Im Code haben wir einen anonymen Funktions-Lambda-Ausdruck (oldValue, newValue) -> oldValue + newValue) als die Remapping-Funktion verwendet.

Da der Schlüssel Shirt nicht in prices enthalten ist, fügt die merge()-Methode die Zuordnung Shirt=100 in prices ein, und das Ausführungsergebnis der Remapping-Funktion wird ignoriert.

Um mehr über Lambda-Ausdrücke zu erfahren, besuchen SieJava-Lambda-Ausdrücke。

Die HashMap merge()-Methode fügt einen Zuordnungseintrag mit einem doppelten Schlüssel ein:

Beispiel

import java.util.HashMap;

class Main {
    public static void main(String[] args) {
        // Eine HashMap erstellen
        HashMap<String, String> countries = new HashMap<>();

        // Mapping-Einträge in die HashMap einfügen
        countries.put("Washington", "America");
        countries.put("Canberra", "Australia");
        countries.put("Madrid", "Spain");
        System.out.println("HashMap: " + countries);

        // Die Zuordnung mit dem Schlüssel Washington zusammenführen
        String returnedValue = countries.merge("Washington", "USA", (oldValue, newValue) -> oldValue + "/" + newValue);
        System.out.println("Washington: " + returnedValue);

        // Aktualisierte HashMap ausgeben
        System.out.println("Aktualisierte HashMap: " + countries);
    }
}

Das Ausführen des obigen Programms erzeugt die folgende Ausgabe:

HashMap: {Madrid=Spain, Canberra=Australia, Washington=America}
Washington: America/USA
Updated HashMap: {Madrid=Spain, Canberra=Australia, Washington=America/USA},  

Im obigen Beispiel haben wir eine HashMap namens countries erstellt.

Beachten Sie den Ausdruck:

countries.merge("Washington", "USA", (oldValue, newValue) -> oldValue + "/" + newValue)

Hier haben wir den Lambda-Ausdruck(oldValue, newValue) -> oldValue + "/" + newValue)als Remapping-Funktion verwendet.

Da der Schlüssel washington bereits in countries existiert, wird der alte Wert durch den von der Remapping-Funktion zurückgegebenen Wert ersetzt. Daher enthält die Zuordnung für Washington America/USA.

Java HashMap Java HashMap

Weitere Erweiterungen