Método Java HashMap compute()
El método compute() recalcula el valor de la clave especificada en el hashMap.
La sintaxis del método compute() es:
hashmap.compute(K key, BiFunction remappingFunction)
Nota:hashmap es un objeto de la clase HashMap.
Descripción de parámetros:
- key - clave
- remappingFunction - función de reasignación, utilizada para recalcular el valor
Valor de retorno
Si el valor correspondiente a la clave no existe, devuelve null; si existe, devuelve el valor recalculado mediante remappingFunction.
Ejemplo
El siguiente ejemplo demuestra el uso del método compute():
Ejemplo
import java.util.HashMap;
class Main {
public static void main(String[] args) {
// Crear un HashMap
HashMap<String, Integer> prices = new HashMap<>();
// Añadir elementos de mapeo 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 aplicar un 10% de descuento
int newPrice = prices.compute("Shoes", (key, value) -> value - value * 10/100);
System.out.println("Discounted Price of Shoes: " + newPrice);
// Imprimir el HashMap actualizado
System.out.println("Updated HashMap: " + prices);
}
}
class Main {
public static void main(String[] args) {
// Crear un HashMap
HashMap<String, Integer> prices = new HashMap<>();
// Añadir elementos de mapeo 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 aplicar un 10% de descuento
int newPrice = prices.compute("Shoes", (key, value) -> value - value * 10/100);
System.out.println("Discounted Price of Shoes: " + newPrice);
// Imprimir el HashMap actualizado
System.out.println("Updated HashMap: " + prices);
}
}
La salida del programa anterior es:
HashMap: {Pant=150, Bag=300, Shoes=200}
Discounted Price of Shoes: 180
Updated HashMap: {Pant=150, Bag=300, Shoes=180
En el ejemplo anterior, creamos un HashMap llamado prices.
Observe la expresión:
prices.compute("Shoes", (key, value) -> value - value * 10/100)
En el código, usamos una función anónima (expresión lambda)(key, value) -> value - value * 10/100como función de reasignación.
Para obtener más información sobre las expresiones lambda, visiteExpresiones Lambda en Java。
Otras extensiones
Java HashMap