Metoda Java HashMap compute () calculează o nouă valoare și o asociază cu cheia specificată în hashmap.
Sintaxa compute()metodei este:
 hashmap.compute(K key, BiFunction remappingFunction)
Aici, hashmap este un obiect al HashMapclasei.
compute () Parametri
compute()Metoda ia 2 parametri:
- cheie - cheie cu care trebuie asociată valoarea calculată
 - remappingFunction - funcție care calculează noua valoare pentru cheia specificată
 
Notă : Funcția remapping poate lua două argumente. Prin urmare, considerată BiFunction.
compute () Valoare returnată
- returnează noua valoare asociată cheii
 - returnează 
nulldacă nu există nici o valoare asociată cu cheia 
Notă : Dacă rezultă nullfuncția remappingFunction , atunci maparea pentru cheia specificată este eliminată.
Exemplu: HashMap compute () pentru a insera valoare nouă
 import java.util.HashMap; class Main ( public static void main(String() args) ( // create an HashMap HashMap 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); ) )
Ieșire
HashMap: (Pant = 150, Bag = 300, Pantofi = 200) Preț redus al pantofilor: 180 HashMap actualizat: (Pant = 150, Bag = 300, Pantofi = 180
În exemplul de mai sus, am creat un hashmap denumit prețuri. Observați expresia,
 prices.compute("Shoes", (key, value) -> value - value * 10/100)
Aici,
- (cheie, valoare) -> valoare - valoare * 10/100 - Este o expresie lambda. Reduce valoarea veche a încălțămintei cu 10% și o returnează. Pentru a afla mai multe despre expresia lambda, vizitați Java Lambda Expressions.
 - prices.compute () - Asociază noua valoare returnată de expresia lambda la maparea pentru încălțăminte.
 
Am folosit expresia lambda ca funcție de remapare care rake doi parametri.
Notă : Conform documentației oficiale Java, metoda HashMap merge () este mai simplă decât compute()metoda.
Lectură recomandată
- HashMap computeIfAbsent () - calculează valoarea dacă cheia specificată nu este mapată la nicio valoare
 - HashMap computeIfPresent () - calculează valoarea dacă cheia specificată este deja mapată la o valoare
 








