Java HashMap: метод compute()

Java HashMap Java HashMap

Метод compute() пересчитывает значение для указанного ключа в hashMap.

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

hashmap.compute(K key, BiFunction remappingFunction)

Примечание:hashmap — это объект класса HashMap.

Детали параметров:

  • key - ключ
  • remappingFunction - функция ремаппинга, используемая для пересчёта значения

Возвращаемое значение

Если значение, соответствующее ключу, не существует, возвращается null; если существует, возвращается значение, пересчитанное с использованием remappingFunction.

Пример

Следующий пример демонстрирует использование метода compute():

Пример

import java.util.HashMap;

class Main {
    public static void main(String[] args) {
        // Создать HashMap
        HashMap<String, Integer> prices = new HashMap<>();

        // Добавить записи сопоставления в HashMap
        prices.put("Shoes", 200);
        prices.put("Bag", 300);
        prices.put("Pant", 150);
        System.out.println("HashMap: " + prices);

        // Пересчитать стоимость обуви после скидки 10%
        int newPrice = prices.compute("Shoes", (key, value) -> value - value * 10/100);
        System.out.println("Цена обуви со скидкой: " + newPrice);

        // Вывести обновлённый HashMap
        System.out.println("Обновлённый HashMap: " + prices);
    }
}

Запуск приведённой выше программы даёт следующий вывод:

HashMap: {Pant=150, Bag=300, Shoes=200}
Discounted Price of Shoes: 180
Updated HashMap: {Pant=150, Bag=300, Shoes=180

В приведённом выше примере мы создали HashMap с именем prices.

Обратите внимание на выражение:

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

В коде мы использовали анонимную функцию — лямбда-выражение(key, value) -> value - value * 10/100в качестве функции переназначения.

Чтобы узнать больше о лямбда-выражениях, посетитеЛямбда-выражения Java。

Java HashMap Java HashMap

Другие расширения