Calcul Java HashMap()
La méthode Java HashMap compute() calcule une nouvelle valeur et l'associe à la clé spécifiée dans le hashmap.
La syntaxe du compute()
méthode est :
hashmap.compute(K key, BiFunction remappingFunction)
Ici, hashmap est un objet du HashMap
classe.
Paramètres de calcul()
Le compute()
la méthode prend 2 paramètres :
- clé - clé à laquelle la valeur calculée doit être associée
- fonction de remappage - fonction qui calcule la nouvelle valeur pour la clé spécifiée
Remarque :La fonction remappingFunction peut prendre deux arguments. Donc, considéré comme BiFunction
.
valeur de retour de calcul()
- renvoie la nouvelle valeur associé à la clé
- renvoie
null
si aucune valeur n'est associée à la clé
Remarque :Si remappingFunction résultats null
, puis le mappage pour la clé spécifiée est supprimé.
Exemple :HashMap compute() pour insérer une nouvelle valeur
import java.util.HashMap;
class Main {
public static void main(String[] args) {
// create an HashMap
HashMap<String, Integer> prices = new HashMap<>();
// insert entries to the HashMap
prices.put("Shoes", 200);
prices.put("Bag", 300);
prices.put("Pant", 150);
System.out.println("HashMap: " + prices);
// recompute the value of Shoes with 10% discount
int newPrice = prices.compute("Shoes", (key, value) -> value - value * 10/100);
System.out.println("Discounted Price of Shoes: " + newPrice);
// print updated HashMap
System.out.println("Updated HashMap: " + prices);
}
}
Sortie
HashMap: {Pant=150, Bag=300, Shoes=200} Discounted Price of Shoes: 180 Updated HashMap: {Pant=150, Bag=300, Shoes=180
Dans l'exemple ci-dessus, nous avons créé un hashmap nommé prices . Remarquez l'expression,
prices.compute("Shoes", (key, value) -> value - value * 10/100)
Ici,
- (clé, valeur) -> valeur - valeur * 10/100 - C'est une expression lambda. Cela réduit l'ancienne valeur de Chaussures de 10 % et le retourne. Pour en savoir plus sur l'expression lambda, consultez Java Lambda Expressions.
- prix.compute() - Associe la nouvelle valeur renvoyée par l'expression lambda au mappage pour Shoes .
Nous avons utilisé l'expression lambda comme fonction de remappage qui ratisse deux paramètres.
Remarque :D'après la documentation officielle de Java, la méthode HashMap merge() est plus simple que le compute()
méthode.
Lecture recommandée
- HashMap computeIfAbsent() - calcule la valeur si la clé spécifiée n'est mappée à aucune valeur
- HashMap computeIfPresent() - calcule la valeur si la clé spécifiée est déjà mappée à une valeur