java.util.HashMap replace(K key, V value) and replace(K key ,V oldValue, V newValue)
Description
- replace(K key, V value)
- replace(K key ,V oldValue, V newValue)
The replace(K key, V value) method accepts a key and a value mapping which will replace the existing value of the key-value mapping by the value method argyment if the key is found on the HashMap otherwise the method will not do anything. Meanwhile the replace(K key, V oldValue, V newValue) will only replace the existing key-value mapping if the key and oldValue is found on the HashMap.
Important Notes of the replace method
- The replace method has been specified by replace in interface Map<K,V>
Method Syntax
Method 1:
replace(K key, V value)
Method 2:
replace(K key ,V oldValue, V newValue)
Method Argument
The following are the method arguments required for replace(K key, V value)
Data Type | Parameter | Description |
---|---|---|
K | key | key with which the specified value is associated. |
V | value | value to be associated with the specified key |
And here are the method arguments and description for the method replace(K key ,V oldValue, V newValue)
Data Type | Parameter | Description |
---|---|---|
K | key | key with which the specified value is associated. |
V | oldValue | value expected to be associated with the specified key |
V | NewValue | value to be associated with the specified key |
Method Returns
The replace(K key ,V oldValue, V newValue) method returns true if the value was replaced. Meanwhile the replace(K key, V value) returns the previous value associated with the specified key, or null if there was no mapping for the key. (A null return can also indicate that the map previously associated null with the key, if the implementation supports null values.)
Compatibility
Requires Java 1.2 and up
Java HashMap replace() Example
Below are two java code that demonstrates the use of replace() method of HashMap class. There are two possible return of the replace method thus the handling of the returned value is totally different.
package com.javatutorialhq.java.examples; import static java.lang.System.*; import java.util.HashMap; /* * This example source code demonstrates the use of * replace(K key, V value) method of HashMap class */ public class HashMapReplaceExample { public static void main(String[] args) throws InterruptedException { // get the HashMap object from the method init() HashMap<Integer, String> map = init(); // replace the id 18975 with a new student String result = map.replace(73654, "Darwin Bocalbos"); if (result != null) { out.println("Student " + result + " has been replaced on the student database"); } else { out.println("Specified student not found"); } } private static HashMap<Integer, String> init() { // declare the HashMap HashMap<Integer, String> mapStudent = new HashMap<>(); // put contents to our HashMap mapStudent.put(73654, "Shyra Travis"); mapStudent.put(98712, "Sharon Wallace"); mapStudent.put(71245, "Leo Batista"); return mapStudent; } }
This example is a lot simpler than it looks. First we have a method init() which generally populates a HashMap object and returned. The init() method has been called by the main method. We have used the replace(K key, V value) to replace the existing id 73654 with a new student name. The returned value were stored into a String result. This is used to evaluate if the operation is successful.
Below is the sample output when you run the above example.
package com.javatutorialhq.java.examples; import static java.lang.System.*; import java.util.HashMap; /* * This example source code demonstrates the use of * replace(K key, V oldvalue,V, newValue) method of HashMap class */ public class HashMapReplaceExample { public static void main(String[] args) throws InterruptedException { // get the HashMap object from the method init() HashMap<Integer, String> map = init(); // replace the value of id 18975 with a new student name boolean result = map.replace(73654, "Shyra Travis","Leor Tramp"); if (result) { out.println("Operation successful"); } else { out.println("Specified student not found"); } } private static HashMap<Integer, String> init() { // declare the HashMap HashMap<Integer, String> mapStudent = new HashMap<>(); // put contents to our HashMap mapStudent.put(73654, "Shyra Travis"); mapStudent.put(98712, "Sharon Wallace"); mapStudent.put(71245, "Leo Batista"); return mapStudent; } }
The above example is similar to the first example however on this case the returned value of the operation is boolean.
Below is the sample output when you run the above example.