Java HashMap computeIfAbsent() Method
Example
Compute a value for a new 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.computeIfAbsent("Canada", (k) -> "Toronto (" + k + ")");
System.out.println(capitalCities);
}
}
Definition and Usage
The computeIfAbsent() method calculates a value for a new entry based on its key. If an entry with the specified key already exists and its value is not 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 Function interface.
To learn about lambda expressions, see our Java Lambda Expression tutorial.
Syntax
public void computeIfAbsent(K key, Function 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 function has one parameter containing the key of the entry. |
Technical Details
| Returns: | If an entry with the specified key already exists then it returns the value of the entry, otherwise it returns the value computed by the function. |
|---|
Related Pages
❮ HashMap Methods