要替换 Map 中指定 Key 的值,可以使用 Map 的 replace() 方法。以下是使用 Java 8 的 Lambda 表达式查找指定 Key 并替换其值的示例代码:

import java.util.HashMap;
import java.util.Map;

public class Main {
    public static void main(String[] args) {
        // 创建一个 Map
        Map<String, Integer> map = new HashMap<>();
        map.put('key1', 1);
        map.put('key2', 2);
        map.put('key3', 3);

        // 查找指定 Key 并替换值
        String keyToReplace = 'key2';
        int newValue = 10;

        map.replace(keyToReplace, newValue);

        // 输出替换后的 Map
        System.out.println(map);
    }
}

输出结果为:

{key1=1, key2=10, key3=3}

在上面的示例中,我们创建了一个包含几个键值对的 HashMap。然后,我们使用 replace() 方法查找指定的 key ('key2') 并替换其值为 10。最后,我们打印替换后的 Map 结果。

如果指定的 Key 不存在于 Map 中,replace() 方法将不会进行替换,而是返回 null。如果要在 Key 不存在时进行替换,可以使用 computeIfPresent() 方法。以下是使用 computeIfPresent() 方法查找指定 Key 并替换其值的示例代码:

import java.util.HashMap;
import java.util.Map;

public class Main {
    public static void main(String[] args) {
        // 创建一个 Map
        Map<String, Integer> map = new HashMap<>();
        map.put('key1', 1);
        map.put('key2', 2);
        map.put('key3', 3);

        // 查找指定 Key 并替换值
        String keyToReplace = 'key2';
        int newValue = 10;

        map.computeIfPresent(keyToReplace, (key, value) -> newValue);

        // 输出替换后的 Map
        System.out.println(map);
    }
}

输出结果为:

{key1=1, key2=10, key3=3}

在上面的示例中,我们使用 computeIfPresent() 方法来查找指定的 key 并替换其值为 10。如果指定的 Key 不存在于 Map 中,computeIfPresent() 方法将不会进行替换,而是返回 null。

Java 8 查找 Map 指定 Key 并替换其值:replace() 和 computeIfPresent() 方法

原文地址: https://www.cveoy.top/t/topic/p2qI 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录