Java HashMap replaceAll() 使用方法及示例 - Java教程

由网友 大卫 发布 阅读 12

Java HashMap replaceAll() 使用方法及示例 - Java教程

Java HashMap 方法

Java HashMap replaceAll()方法用指定函数的结果替换哈希表的所有映射。

replaceAll()方法的语法为:

hashmap.replaceAll(Bifunction<K, V> function)

replaceAll()参数

  • function -应用于哈希映射每个条目的操作

replaceAll()返回值

replaceAll()方法不返回任何值。 而是用函数中的新值替换哈希映射的所有值。

示例1:将所有值更改为大写

import java.util.HashMap;

class Main {
    public static void main(String[] args) {
        //创建 HashMap
        HashMap<Integer, String> languages = new HashMap<>();

        //将条目添加到HashMap
        languages.put(1, "java");
        languages.put(2, "javascript");
        languages.put(3, "python");
        System.out.println("HashMap: " + languages);

        //将所有值更改为大写
        languages.replaceAll((key, value) -> value.toUpperCase());
        System.out.println("Updated HashMap: " + languages);
    }
}

输出结果

HashMap: {1=java, 2=javascript, 3=python}
Updated HashMap: {1=JAVA, 2=JAVASCRIPT, 3=PYTHON}

在上面的示例中,我们创建了一个名为languages的哈希映射。注意这一行,

languages.replaceAll((key, value) -> value.toUpperCase());

这里,

  • (key, value) -> value.toUpperCase() - 是lambda表达式。它将哈希表的所有值都转换为大写并返回。要了解更多信息,请访问Java Lambda 表达式

  • replaceAll() - 将哈希映射的所有值替换为lambda表达式返回的值。

示例2:将所有值替换为键的平方

import java.util.HashMap;

class Main {
    public static void main(String[] args) {
        // 创建 HashMap
        HashMap<Integer, Integer> numbers = new HashMap<>();

        // 向HashMap插入条目
        numbers.put(5, 0);
        numbers.put(8, 1);
        numbers.put(9, 2);
        System.out.println("HashMap: " + numbers);

        //将所有值替换为键的平方
        numbers.replaceAll((key, value) -> key * key);;
        System.out.println("更新后 HashMap: " + numbers);
    }
}

输出结果

HashMap: {5=0, 8=1, 9=2}
更新后 HashMap: {5=25, 8=64, 9=81}

在上面的示例中,我们创建了一个名为numbers的哈希映射。注意这一行,

numbers.replaceAll((key, value) -> key * key);

这里,

  • (key, value) -> key * key  -  计算的平方并返回

  • replaceAll() -   用 (key,value)->key*key 返回的值替换hashmap的所有值

Java HashMap 方法

Java HashMap replace() Java HashMap values()