Java HashMap replaceAll() 方法
最后更新于:2022-03-27 02:51:47
Java HashMap replaceAll() 方法
replaceAll() 方法将 hashMap 中的所有映射关系替换成给定的函数所执行的结果。
replaceAll() 方法的语法为:
hashmap.replaceAll(Bifunction<K, V> function)
注:hashmap 是 HashMap 类的一个对象。
参数说明:
- function – 执行对函数
返回值
不返回任何值,仅替换了 HashMap 中的所有值。
实例
以下实例演示了 replaceAll() 方法的使用:
实例
class Main {
public static void main(String[] args) {
// 创建一个 HashMap
HashMap<Integer, String> sites = new HashMap<>();
// 往 HashMap 添加一些元素
sites.put(1, "Google");
sites.put(2, "Runoob");
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=Runoob, 3=Taobao} Updated HashMap: {1=GOOGLE, 2=RUNOOB, 3=TAOBAO}
(key, value) -> value.toUpperCase() 是匿名函数 lambda 表达式。它将 HashMap 中的所有值都转换为大写并返回。要了解更多信息,请访问 Java Lambda 表达式。
将所有值替换为键值的平方:
实例
class Main {
public static void main(String[] args) {
// 创建一个 HashMap
HashMap<Integer, Integer> 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}