📜  Java中的 HashMap replace(key, oldValue, newValue) 方法及示例(1)

📅  最后修改于: 2023-12-03 15:16:23.337000             🧑  作者: Mango

Java中的 HashMap replace(key, oldValue, newValue) 方法及示例

概述

HashMap 是一种常用的 Java 集合类型,提供了多种操作键值对的方法。其中,replace(key, oldValue, newValue) 方法用于替换指定键对应的值。该方法只有在当前值为 oldValue 的情况下才能进行替换,如果键不存在或不为 oldValue 则不会进行替换操作。

方法签名
public boolean replace(K key, V oldValue, V newValue)
参数说明
  • key:要替换的键。
  • oldValue:键对应的旧值,只有与 map 中存储的值相等时才会替换。如果该参数为 null,则只有当当前键不存在时才会替换。
  • newValue:键对应的新值,用于替换当前值。
返回值
  • 如果存在该键,并且键对应的值为 oldValue,则替换成功,返回 true
  • 如果不存在该键,或者键对应的值不为 oldValue,则替换失败,返回 false
示例
import java.util.HashMap;

public class Example {
    public static void main(String[] args) {
        // 创建 HashMap 对象
        HashMap<String, String> map = new HashMap<>();

        // 添加元素
        map.put("A", "Apple");
        map.put("B", "Banana");
        map.put("C", "Cat");
        map.put("D", "Dog");

        // 替换键 C 对应的值
        boolean result1 = map.replace("C", "Cat", "Car");
        System.out.println(result1); // true
        System.out.println(map); // {A=Apple, B=Banana, C=Car, D=Dog}

        // 替换键 E 对应的值
        boolean result2 = map.replace("E", "Elephant", "Egg");
        System.out.println(result2); // false
        System.out.println(map); // {A=Apple, B=Banana, C=Car, D=Dog}

        // 替换键 B 对应的值,只有在旧值为 null 的情况下替换
        boolean result3 = map.replace("B", null, "Bird");
        System.out.println(result3); // false
        System.out.println(map); // {A=Apple, B=Banana, C=Car, D=Dog}

        // 清空 HashMap
        map.clear();
        System.out.println(map.isEmpty()); // true
    }
}
输出结果
true
{A=Apple, B=Banana, C=Car, D=Dog}
false
{A=Apple, B=Banana, C=Car, D=Dog}
false
{A=Apple, B=Banana, C=Car, D=Dog}
true