replaceAll() 方法的语法是
hashmap.replaceAll(Bifunction<K, V> function)
replaceAll() 参数
replaceAll() 方法接受一个参数。
- function - 要应用于hashmap中每个条目的操作
replaceAll() 返回值
replaceAll() 方法不返回值。相反,它用function中的新值替换hashmap中的所有值。
示例 1:将所有值更改为大写
import java.util.HashMap;
class Main {
public static void main(String[] args) {
// create an HashMap
HashMap<Integer, String> languages = new HashMap<>();
// add entries to the HashMap
languages.put(1, "java");
languages.put(2, "javascript");
languages.put(3, "python");
System.out.println("HashMap: " + languages);
// Change all value to uppercase
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 的hashmap。请注意这一行:
languages.replaceAll((key, value) -> value.toUpperCase());
这里,
(key, value) -> value.toUpperCase()是一个lambda表达式。它将hashmap的所有值转换为大写并返回。要了解更多信息,请访问 Java Lambda Expression。replaceAll()用lambda表达式返回的值替换hashmap中的所有值。
示例 2:用键的平方替换所有值
import java.util.HashMap;
class Main {
public static void main(String[] args) {
// create an HashMap
HashMap<Integer, Integer> numbers = new HashMap<>();
// insert entries to the HashMap
numbers.put(5, 0);
numbers.put(8, 1);
numbers.put(9, 2);
System.out.println("HashMap: " + numbers);
// replace all value with the square of 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}
在上面的示例中,我们创建了一个名为 numbers 的哈希表。请注意这一行,
numbers.replaceAll((key, value) -> key * key);
这里,
(key, value) -> key * key- 计算 key 的平方并返回它replaceAll()- 用(key, value) -> key * key返回的值替换hashmap中的所有值
另请阅读