English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutoriel de base Java

Contrôle de flux Java

Java tableau

Java orienté objet (I)

Java orienté objet (II)

Java orienté objet (III)

Gestion des exceptions Java

Java List

Java Queue (file d'attente)

Java Map

Java Set

Entrée/sortie Java (I/O)

Reader Java/Writer

Autres sujets Java

Utilisation et exemple de la méthode computeIfPresent() de Java HashMap

Java HashMap methods

Si la clé existe déjà dans la clé de hachage, la méthode computeIfPresent() de Java HashMap calcule une nouvelle valeur et l'associe à la clé spécifiée.

La syntaxe de computeIfPresent() méthode est :

hashmap.computeIfPresent(K key, BiFunction remappingFunction)

Paramètres de computeIfPresent()

computeIfPresent() méthode a deux paramètres :

  • key - la clé associée à la valeur calculée

  • remappingFunction - PourCléFonction de calcul de nouvelle valeur

Remarque:remappingFunction peut accepter deux paramètres.

Retour de computeIfPresent()

  • Retourne la nouvelle valeur associée à la clé spécifiée

  • Si il n'y a pas de valeur associée à la clé, alors retourne null

Remarque:Si le résultat de remappingFunction est null, alors la clé spécifiée sera suppriméeCléde la carte.

Exemple1:Java HashMap computeIfPresent()

import java.util.HashMap;
class Main {
  public static void main(String[] args) {
    // Créer une HashMap
    HashMap<String, Integer> prices = new HashMap<>();
    // Insérer une entrée dans la HashMap
    prices.put("Shoes", 200);
    prices.put("Bag", 300);
    prices.put("Pant", 150);
    System.out.println("HashMap: ") + prices);
    //Utiliser10Pour recalculer la valeur du shoe avec la TVA de %
    int shoesPrice = prices.computeIfPresent("Shoes", (key, value) -> value + value * 10/100);
    System.out.println("Le prix du shoe après la TVA: ") + shoesPrice);
    // Imprimer la HashMap mise à jour
    System.out.println("La HashMap mise à jour: ") + prices);
  }
}

Résultat de la sortie

HashMap: {Pant=150, Bag=300, Shoes=200}
Le prix du shoe après la TVA: 220
La HashMap mise à jour: {Pant=150, Bag=300, Shoes=220}}

Dans l'exemple précédent, nous avons créé une carte de hachage nommée prices. Notez l'expression

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

Here,

  • (key, value) -> value + value*10/100  - It is a lambda expression. It calculates the new value of Shoes and returns. For more information about lambda expressions, please visitJava Lambda expressions.

  • prices.computeIfPresent()  - Associates the new value returned by the lambda expression with the Shoes mapping. This is the only possible, because Shoes is already mapped to the value in the hash map.

computeIfPresent() method cannot be used if the key does not exist in the hash table.

Recommended reading

Java HashMap methods