Méthode computeIfPresent() de Java HashMap

Java HashMap Java HashMap

La méthode computeIfPresent() recalcule la valeur de la clé spécifiée dans le hashMap, à condition que la clé existe dans le hashMap.

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

hashmap.computeIfPresent(K key, BiFunction remappingFunction)

Remarque :hashmap est un objet de la classe HashMap.

Description du paramètre :

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

Valeur de retour

Si la valeur correspondant à la clé n'existe pas, elle renvoie null ; si elle existe, elle renvoie la valeur recalculée par la remappingFunction.

Exemple

L'exemple suivant montre l'utilisation de la méthode computeIfPresent() :

Exemple

import java.util.HashMap;

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

        // Ajouter des mappages au HashMap
        prices.put("Shoes", 200);
        prices.put("Bag", 300);
        prices.put("Pant", 150);
        System.out.println("HashMap: " + prices);

        // Recalculer la valeur des chaussures après ajout de 10% de TVA
        int shoesPrice = prices.computeIfPresent("Shoes", (key, value) -> value + value * 10/100);
        System.out.println("Prix des chaussures après TVA : " + shoesPrice);

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

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

HashMap: {Pant=150, Bag=300, Shoes=200}
Price of Shoes after VAT: 220
Updated HashMap: {Pant=150, Bag=300, Shoes=220}}

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

Remarquez l'expression :

prices.computeIfPresent("Shoes", (key, value) -> value + value * 10/100)

Dans le code, nous avons utilisé une expression lambda de fonction anonyme(key, value) -> value + value * 10/100comme fonction de remappage.

Pour en savoir plus sur les expressions lambda, veuillez consulterExpressions lambda Java。

Java HashMap Java HashMap

Autres extensions