runoops.com

Java HashMap replaceAll() 方法

Java HashMap

replaceAll() 方法将 hashMap 中的所有映射关系替换成给定的函数所执行的结果。

replaceAll() 方法的语法为:

hashmap.replaceAll(Bifunction function)

注:hashmap 是 HashMap 类的一个对象。

参数说明:

  • function - 执行对函数

返回值

不返回任何值,仅替换了 HashMap 中的所有值。

实例

以下实例演示了 replaceAll() 方法的使用:

import java.util.HashMap;

class Main {
    public static void main(String[] args) {
        // 创建一个 HashMap
        HashMap sites = new HashMap();

        // 往 HashMap 添加一些元素
        sites.put(1, "Google");
        sites.put(2, "Runoops");
        sites.put(3, "Taobao");
        System.out.println("sites HashMap: " + sites);

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

执行以上程序输出结果为:

sites HashMap: {1=Google, 2=Runoops, 3=Taobao}
Updated HashMap: {1=GOOGLE, 2=RUNOOPS, 3=TAOBAO}

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

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

import java.util.HashMap;

class Main {
    public static void main(String[] args) {
        // 创建一个 HashMap
        HashMap numbers = new HashMap();

        // i往HashMap中添加映射
        numbers.put(5, 0);
        numbers.put(8, 1);
        numbers.put(9, 2);
        System.out.println("HashMap: " + numbers);

        // 用key的平方替换所有的值
        numbers.replaceAll((key, value) -> key * key);;
        System.out.println("Updated HashMap: " + numbers);
    }
}

执行以上程序输出结果为:

HashMap: {5=0, 8=1, 9=2}
Updated HashMap: {5=25, 8=64, 9=81}

Java HashMap