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的所有值
Java HashMap replace() Java HashMap values()
展开全部