Izračun Java HashMap ()

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 HashMaprazreda.

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

Zanimive Članki...