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