HashMap类实现的Map接口的replace(K key,V oldValue,V newValue)方法仅在先前将键映射为指定的旧值时才用于替换指定键的旧值。
用法:
default boolean replace(K key, V oldValue, V newValue)
参数:此方法接受三个参数:
key:这是必须替换其值的元素的键。
oldValue:这是旧值,必须使用提供的键进行映射。
newValue:这是必须与指定键映射的新值。
返回值:如果替换了旧值,则此方法返回布尔值true,否则返回false。
异常:该方法将抛出:
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 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 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}