Java HashMap merge() 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.merge("Canada", "Ottawa", (a, b) -> a + " -> " + b);
capitalCities.merge("England", "London", (a, b) -> a + " -> " + b);
capitalCities.merge("Germany", "Berlin", (a, b) -> a + " -> " + b);
System.out.println(capitalCities);
}
}
Definition and Usage
The merge()
method creates an entry with a specified key and value or, if an entry with the specified key already exists, calculates a new value for the entry.
The new 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 V merge(K key, V value, BiFunction function)
K
and V
refer to the data types of the keys and values of the map.
Parameter Values
Parameter | Description |
---|---|
key | Required. The key of the entry. |
value | Required. The value to use if an entry with the specified key does not yet exist. |
function |
Required. A BiFunction object or lambda expression which operates on each entry.The first parameter of the function contains the current value of the entry and the second parameter contains the value specified by the value argument. |
Technical Details
Returns: | The value that is written into the entry. |
---|
Related Pages
❮ HashMap Methods