Java HashMap replace(key, oldValue, newValue)方法及示例
HashMap类 实现的 Map接口 的 replace(K key, V oldValue, V newValue) 方法,仅当键先前与指定的旧值映射时,才用于替换指定键的旧值。
语法
default boolean replace(K key, V oldValue, V newValue)
参数: 该方法接受三个参数。
- key: 这是元素的 键 ,其值必须被替换。
- oldValue: 这是一个 旧的值 ,必须与提供的键进行映射。
- newValue: 这是一个 新的值 ,它必须与指定的键进行映射。
返回值: 如果旧值被替换,该方法返回布尔值 true ,否则返回 false。
异常情况。这个方法将抛出。
- NullPointerException ,如果指定的键或值是空的,而这个地图不允许空的键或值,以及
- IllegalArgumentException ,如果指定的键或值的某些属性使它不能被存储在这个地图中。
程序1 :
// Java program to demonstrate
// replace(K key, V oldValue, V newValue) method
import java.util.*;
public class GFG {
// Main method
public static void main(String[] args)
{
// Create a HashMap and add some values
HashMap<String, Integer> map
= new HashMap<>();
map.put("a", 100);
map.put("b", 300);
map.put("c", 300);
map.put("d", 400);
// print map details
System.out.println("HashMap: "
+ map.toString());
// provide old value, new value for the key
// which has to replace it's old value, using
// replace(K key, V oldValue, V newValue) method
map.replace("b", 300, 200);
// print new mapping
System.out.println("New HashMap: "
+ map.toString());
}
}
输出。
HashMap: {a=100, b=300, c=300, d=400}
New HashMap: {a=100, b=200, c=300, d=400}
程序2
// Java program to demonstrate
// replace(K key, V oldValue, V newValue) method
import java.util.*;
public class GFG {
// Main method
public static void main(String[] args)
{
// Create a HashMap and add some values
HashMap<String, Integer> map
= new HashMap<>();
map.put("a", 100);
map.put("b", 300);
map.put("c", 300);
map.put("d", 400);
// print map details
System.out.println("HashMap: "
+ map.toString());
// provide old value, new value for the key
// which has to replace it's old value,
// and store the return value in isReplaced using
// replace(K key, V oldValue, V newValue) method
boolean isReplaced = map.replace("b", 200, 500);
// print the value of isReplaced
System.out.println("Old value for 'b' was "
+ "replaced: " + isReplaced);
// print new mapping
System.out.println("New HashMap: "
+ map.toString());
}
}
输出。
HashMap: {a=100, b=300, c=300, d=400}
Old value for 'b' was replaced: false
New HashMap: {a=100, b=300, c=300, d=400}
参考文献 : https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html#replace-K-V-V-