Java HashMap compute() メソッド

Java HashMap Java HashMap

compute() メソッドは、hashMap 内の指定された key の値を再計算します。

compute() メソッドの構文は次のとおりです:

hashmap.compute(K key, BiFunction remappingFunction)

注:hashmap は HashMap クラスのオブジェクトです。

パラメータの説明:

  • key - キー
  • remappingFunction - 再マッピング関数。値を再計算するために使用されます。

戻り値

key に対応する value が存在しない場合は 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("Discounted Price of Shoes: " + newPrice);

        // 更新された HashMap を出力する
        System.out.println("Updated HashMap: " + prices);
    }
}

上記のプログラムを実行すると、出力結果は次のようになります:

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

上記の例では、prices という名前の HashMap を作成しました。

式に注意してください:

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

コード内では、匿名関数の lambda 式を使用しました。(key, value) -> value - value * 10/100再マッピング関数として。

lambda 式の詳細については、次を参照してください:Java Lambda 式。

Java HashMap Java HashMap

その他の拡張