Método computeIfPresent() de Java HashMap

Java HashMap Java HashMap

El método computeIfPresent() recalcula el valor de la clave especificada en hashMap, siempre que dicha clave exista en hashMap.

La sintaxis del método computeIfPresent() es:

hashmap.computeIfPresent(K key, BiFunction remappingFunction)

Nota:hashmap es un objeto de la clase HashMap.

Explicación de los parámetros:

  • key - clave
  • remappingFunction - función de reasignación, utilizada para recalcular el valor

Valor de retorno

Si el value correspondiente a key no existe, devuelve null; si existe, devuelve el valor recalculado mediante remappingFunction.

Ejemplo

El siguiente ejemplo demuestra el uso del método computeIfPresent():

Ejemplo

import java.util.HashMap;

class Main {
    public static void main(String[] args) {
        // Crear un HashMap
        HashMap<String, Integer> prices = new HashMap<>();

        // Añadir asignaciones al HashMap
        prices.put("Shoes", 200);
        prices.put("Bag", 300);
        prices.put("Pant", 150);
        System.out.println("HashMap: " + prices);

        // Recalcular el valor de los zapatos después de agregar un 10% de IVA
        int shoesPrice = prices.computeIfPresent("Shoes", (key, value) -> value + value * 10/100);
        System.out.println("Price of Shoes after VAT: " + shoesPrice);

        // Imprimir el HashMap actualizado
        System.out.println("Updated HashMap: " + prices);
    }
}

La salida del programa anterior es:

HashMap: {Pant=150, Bag=300, Shoes=200}
Price of Shoes after VAT: 220
Updated HashMap: {Pant=150, Bag=300, Shoes=220}}

En el ejemplo anterior, creamos un HashMap llamado prices.

Observe la expresión:

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

En el código, utilizamos una función anónima: la expresión lambda.(key, value) -> value + value * 10/100como función de reasignación.

Para obtener más información sobre las expresiones lambda, visita:Expresiones lambda de Java。

Java HashMap Java HashMap

Otras extensiones