Java HashMap replaceAll()方法用指定函数的结果替换哈希表的所有映射。
replaceAll()方法的语法为:
hashmap.replaceAll(Bifunction<K, V> function)
replaceAll()参数
function -应用于哈希映射每个条目的操作
replaceAll()返回值
replaceAll()方法不返回任何值。 而是用函数中的新值替换哈希映射的所有值。
示例1:将所有值更改为大写
import java.util.HashMap; class Main { public static void main(String[] args) { //创建 HashMap HashMap<Integer, String> languages = new HashMap<>(); //将条目添加到HashMap languages.put(1, "java"); languages.put(2, "javascript"); languages.put(3, "python"); System.out.println("HashMap: " + languages); //将所有值更改为大写 languages.replaceAll((key, value) -> value.toUpperCase()); System.out.println("Updated HashMap: " + languages); } }
输出结果
HashMap: {1=java, 2=javascript, 3=python} Updated HashMap: {1=JAVA, 2=JAVASCRIPT, 3=PYTHON}
在上面的示例中,我们创建了一个名为languages的哈希映射。注意这一行,
languages.replaceAll((key, value) -> value.toUpperCase());
这里,
(key, value) -> value.toUpperCase() - 是lambda表达式。它将哈希表的所有值都转换为大写并返回。要了解更多信息,请访问Java Lambda 表达式。
replaceAll() - 将哈希映射的所有值替换为lambda表达式返回的值。
示例2:将所有值替换为键的平方
import java.util.HashMap; class Main { public static void main(String[] args) { // 创建 HashMap HashMap<Integer, Integer> numbers = new HashMap<>(); // 向HashMap插入条目 numbers.put(5, 0); numbers.put(8, 1); numbers.put(9, 2); System.out.println("HashMap: " + numbers); //将所有值替换为键的平方 numbers.replaceAll((key, value) -> key * key);; System.out.println("更新后 HashMap: " + numbers); } }
输出结果
HashMap: {5=0, 8=1, 9=2} 更新后 HashMap: {5=25, 8=64, 9=81}
在上面的示例中,我们创建了一个名为numbers的哈希映射。注意这一行,
numbers.replaceAll((key, value) -> key * key);
这里,
(key, value) -> key * key - 计算键的平方并返回
replaceAll() - 用 (key,value)->key*key 返回的值替换hashmap的所有值