Java HashMap computeIfPresent() Method
Example
Compute a new value for an entry in a map:
import java.util.HashMap;
public class Main {
public static void main(String[] args) {
HashMap<String, String> capitalCities = new HashMap<String, String>();
capitalCities.put("England", "London");
capitalCities.put("Germany", "Berlin");
capitalCities.put("Norway", "Oslo");
capitalCities.put("USA", "Washington DC");
capitalCities.computeIfPresent("England", (k, v) -> v + "(" + k + ")");
System.out.println(capitalCities);
}
}
Definition and Usage
The computeIfPresent()
method calculates a value for an entry based on its key. If an entry with the specified key does not exist or its value is null
then the map is not changed.
The value is computed using a function, which can be defined by a lambda expression that is compatible with the apply()
method of Java's BiFunction
interface.
To learn about lambda expressions, see our Java Lambda Expression tutorial.
Syntax
public void computeIfPresent(K key, BiFunction function)
K
refers to the data type of the keys of the map.
Parameter Values
Parameter | Description |
---|---|
key | Required. Specifies the key of the entry. |
function |
Required. A Function object or lambda expression which computes the value of the entry.The first parameter of the function contains the key of an entry and the second parameter contains its value. |
Technical Details
Returns: | The value computed by the function or null if the map is not changed. |
---|
Related Pages
❮ HashMap Methods