Metoda izračuna Java HashMap () izračuna novo vrednost in jo poveže z določenim ključem v hashmapu.
Sintaksa compute()
metode je:
hashmap.compute(K key, BiFunction remappingFunction)
Tu je hashmap predmet HashMap
razreda.
izračunati () parametre
compute()
Postopek traja 2 parametrov:
- key - ključ, s katerim bo povezana izračunana vrednost
- remappingFunction - funkcija, ki izračuna novo vrednost za navedeni ključ
Opomba : Funkcija remappingFunction ima lahko dva argumenta. Zato se šteje za BiFunction
.
compute () Vrnjena vrednost
- vrne novo vrednost, povezano s ključem
- vrne,
null
če s ključem ni povezana nobena vrednost
Opomba : Če je rezultat remappingFunction rezultat null
, se preslikava za navedeni ključ odstrani.
Primer: Izračun HashMap () za vstavljanje nove vrednosti
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); ) )
Izhod
HashMap: (Hlače = 150, Torba = 300, Čevlji = 200) Cena s popustom čevljev: 180 Posodobljeno HashMap: (Hlače = 150, Torba = 300, Čevlji = 180
V zgornjem primeru smo ustvarili hashmap z imenom cene. Upoštevajte izraz,
prices.compute("Shoes", (key, value) -> value - value * 10/100)
Tukaj,
- (ključ, vrednost) -> vrednost - vrednost * 10/100 - To je lambda izraz. Staro vrednost Čevljev zmanjša za 10% in jo vrne. Če želite izvedeti več o lambda izrazu, obiščite Java Lambda Expressions.
- prices.compute () - Novo vrednost, ki jo vrne lambda izraz, poveže s preslikavo za Čevlje.
Lambda izraz smo uporabili kot funkcijo ponovnega preslikavanja, ki povečuje dva parametra.
Opomba : V skladu z uradno dokumentacijo Jave je metoda HashMap merge () preprostejša od compute()
metode.
Priporočeno branje
- HashMap computeIfAbsent () - izračuna vrednost, če navedeni ključ ni preslikan v nobeno vrednost
- HashMap computeIfPresent () - izračuna vrednost, če je navedeni ključ že preslikan na vrednost