Јава ХасхМап цомпуте ()

Метода Јава ХасхМап цомпуте () израчунава нову вредност и повезује је са наведеним кључем у хешмапи.

Синтакса compute()методе је:

 hashmap.compute(K key, BiFunction remappingFunction)

Овде је хасхмап објекат HashMapкласе.

цомпуте () Параметри

compute()Метод узима 2 параметра:

  • кеи - кључ са којим треба израчунати израчунату вредност
  • ремаппингФунцтион - функција која израчунава нову вредност за наведени кључ

Напомена : Функција ремаппингФунцтион може имати два аргумента. Отуда се сматра као BiFunction.

цомпуте () Повратна вредност

  • враћа нову вредност повезану са кључем
  • враћа nullако ниједна вредност није повезана са кључем

Напомена : Ако резултати ремаппингФунцтион резултирају null, тада се мапирање за наведени кључ уклања.

Пример: ХасхМап цомпуте () за уметање нове вредности

 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); ) )

Оутпут

 ХасхМап: (Панталона = 150, Торба = 300, Ципеле = 200) Цена са попустом за ципеле: 180 Ажурирана ХасхМап: (Панталона = 150, Торба = 300, Ципеле = 180

У горњем примеру смо креирали хеш-мапу названу цене. Примети израз,

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

Ево,

  • (кључ, вредност) -> вредност - вредност * 10/100 - То је ламбда израз. Смањује стару вредност Ципела за 10% и враћа је. Да бисте сазнали више о ламбда изразу, посетите Јава Ламбда Екпрессионс.
  • прицес.цомпуте () - придружује нову вредност враћену ламбда изразом мапирању за Ципеле.

Користили смо ламбда израз као функцију поновног мапирања која има два параметра.

Напомена : Према службеној документацији Јаве, метода ХасхМап мерге () је једноставнија од compute()методе.

Препоручено читање

  • ХасхМап цомпутеИфАбсент () - израчунава вредност ако наведени кључ није пресликан у било коју вредност
  • ХасхМап цомпутеИфПресент () - израчунава вредност ако је наведени кључ већ мапиран у вредност

Занимљиви Чланци...