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}