El método computeIfPresent(Key, BiFunction) de la clase HashMap que le permite calcular el valor de una asignación para una clave específica si la clave ya está asociada con un valor (o está asignada a un valor nulo).
- Si la función de asignación de este método devuelve un valor nulo, se elimina la asignación.
- Si la función de reasignación arroja una excepción, la excepción se vuelve a generar y la asignación no se modifica.
- Durante el cálculo, no se permite la modificación de este mapa utilizando este método.
Sintaxis:
public Object computeIfPresent(Object key, BiFunction remappingFunction)
Parámetros: Este método acepta dos parámetros:
- key : clave con la que se va a asociar el valor.
- remappingFunction : función para realizar la operación sobre el valor.
Devoluciones: este método devuelve un nuevo valor reasignado asociado con la clave especificada, o nulo si la asignación devuelve nulo .
Los siguientes programas ilustran el método computeIfPresent(Key, BiFunction):
Ejemplo 1: este ejemplo demuestra el caso cuando la clave no está en el hashmap.
// Java program to demonstrate // computeIfPresent(Key, BiFunction) method. import java.util.concurrent.*; import java.util.*; public class GFG { public static void main(String[] args) { // Create a HashMap and add some values HashMap<String, Integer> wordCount = new HashMap<>(); wordCount.put("Geeks", 1); wordCount.put("for", 2); wordCount.put("geeks", 3); // print HashMap details System.out.println("Hashmap before operation :\n " + wordCount); // provide new value for keys which is present // using computeIfPresent method wordCount.computeIfPresent("Geek", (key, val) -> val + 100); // print new mapping System.out.println("HashMap after operation :\n " + wordCount); } }
Hashmap before operation : {geeks=3, Geeks=1, for=2} HashMap after operation : {geeks=3, Geeks=1, for=2}
Ejemplo 2: este ejemplo demuestra el caso cuando la clave está presente en el hashmap.
// Java program to demonstrate // computeIfPresent(Key, BiFunction) method. import java.util.concurrent.*; import java.util.*; public class GFG { public static void main(String[] args) { // Create a HashMap and add some values HashMap<String, Integer> wordCount = new HashMap<>(); wordCount.put("Geeks", 1); wordCount.put("for", 2); wordCount.put("geeks", 3); // print HashMap details System.out.println("Hashmap before operation :\n " + wordCount); // provide new value for keys which is present // using computeIfPresent method wordCount.computeIfPresent("for", (key, val) -> val + 1); // print new mapping System.out.println("HashMap after operation :\n " + wordCount); } }
Hashmap before operation : {geeks=3, Geeks=1, for=2} HashMap after operation : {geeks=3, Geeks=1, for=3}
Publicación traducida automáticamente
Artículo escrito por piyush25pv y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA