扫码一下
查看教程更方便
replaceAll() 方法将 hashMap 中的所有映射关系替换成给定的函数所执行的结果。
replaceAll() 方法的语法为:
hashmap.replaceAll(Bifunction<K, V> function)
注 :hashmap 是 HashMap 类的一个对象。
不返回任何值,仅替换了 HashMap 中的所有值。
以下实例演示了 replaceAll() 方法的使用:
实例
import java.util.HashMap; public class Main { public static void main(String[] args) { // 创建一个 HashMap HashMap<Integer, String> sites = new HashMap<>(); // 往 HashMap 添加一些元素 sites.put(1, "Google"); sites.put(2, "Jiyik"); 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=Jiyik, 3=Taobao}
Updated HashMap: {1=GOOGLE, 2=JIYIK, 3=TAOBAO}
(key, value) -> value.toUpperCase() 是匿名函数 lambda 表达式。它将 HashMap 中的所有值都转换为大写并返回。
将所有值替换为键值的平方:
实例
import java.util.HashMap; public 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}