Méthode merge() de Java HashMap

Java HashMap Java HashMap

La méthode merge() vérifie d'abord si la clé spécifiée existe. Si elle n'existe pas, elle ajoute la paire clé-valeur au hashMap.

La syntaxe de la méthode merge() est :

hashmap.merge(key, value, remappingFunction)

Remarque :hashmap est un objet de la classe HashMap.

Détails des paramètres :

  • key - la clé
  • value - la valeur
  • remappingFunction - la fonction de remappage, utilisée pour recalculer la valeur

Valeur de retour

Si la valeur correspondant à la clé n'existe pas, la valeur est renvoyée ; si elle existe, la valeur recalculée via remappingFunction est renvoyée.

Exemple

L'exemple suivant illustre l'utilisation de la méthode merge() :

Exemple

import java.util.HashMap;

class Main {
    public static void main(String[] args) {
    // Créer un HashMap
    HashMap<String, Integer> prices = new HashMap<>();

    // Insérer des mappages dans le HashMap
    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("Prix de la chemise : " + returnedValue);

    // Afficher le HashMap mis à jour
    System.out.println("HashMap mis à jour : " + prices);
    }
}

L'exécution du programme ci-dessus produit la sortie suivante :

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

Dans l'exemple ci-dessus, nous avons créé un HashMap nommé prices.

Remarquez l'expression :

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

Dans le code, nous avons utilisé une expression lambda de fonction anonyme (oldValue, newValue) -> oldValue + newValue) comme fonction de remappage.

Comme la clé Shirt n'est pas dans prices, la méthode merge() insère le mappage Shirt=100 dans prices, et le résultat d'exécution de la fonction de remappage est ignoré.

Pour en savoir plus sur les expressions lambda, consultezExpressions lambda Java。

La méthode merge() de HashMap insère une entrée de mappage avec une clé dupliquée :

Exemple

import java.util.HashMap;

class Main {
    public static void main(String[] args) {
        // Créer un HashMap
        HashMap<String, String> countries = new HashMap<>();

        // Insérer des entrées de mappage dans le HashMap
        countries.put("Washington", "America");
        countries.put("Canberra", "Australia");
        countries.put("Madrid", "Spain");
        System.out.println("HashMap: " + countries);

        // Fusionner le mappage avec la clé Washington
        String returnedValue = countries.merge("Washington", "USA", (oldValue, newValue) -> oldValue + "/" + newValue);
        System.out.println("Washington: " + returnedValue);

        // Afficher le HashMap mis à jour
        System.out.println("Updated HashMap: " + countries);
    }
}

L'exécution du programme ci-dessus produit la sortie suivante :

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

Dans l'exemple ci-dessus, nous avons créé un HashMap nommé countries.

Remarquez l'expression :

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

Ici, nous avons utilisé l'expression lambda(oldValue, newValue) -> oldValue + "/" + newValue)comme fonction de remappage.

Comme la clé washington existe déjà dans countries, l'ancienne valeur est remplacée par la valeur renvoyée par la fonction de remappage. Par conséquent, le mappage pour Washington contient America/USA.

Java HashMap Java HashMap

Autres extensions