Java HashMap replaceAll() 方法

定义和用法

replaceAll() 方法使用映射中每个条目的键和值执行一个操作,并将该操作的结果替换为该条目的值。该操作可以通过一个与 Java 的 BiFunction 接口的 apply() 方法兼容的 lambda 表达式来定义。

如需了解 lambda 表达式,请参阅我们的 Java Lambda 表达式教程

相关页面

教程:Java HashMap

实例

更新映射中每个条目的值:

import java.util.HashMap;

public class Main {
  public static void main(String[] args) {
    HashMap<String, String> capitalCities = new HashMap<String, String>();

    capitalCities.put("China", "Beijing");
    capitalCities.put("England", "London");
    capitalCities.put("Germany", "Berlin");
    capitalCities.put("USA", "Washington DC");
    
	// 使用 lambda 表达式替换每个条目的值为“The capital of [key] is [value]”
    capitalCities.replaceAll((k, v) -> "The capital of " + k + " is " + v);
    
	// 打印映射中的所有条目
    System.out.println(capitalCities);
  }
}

亲自试一试

语法

public void replaceAll(BiFunction operator)

参数

参数 描述
operator

必需。BiFunction 对象或 lambda 表达式,它对每个条目进行操作。

该函数的第一个参数包含条目的键。第二个参数包含条目的值。函数返回的值将替换条目的当前值。