replaceAll()
方法的语法为:
hashmap.replaceAll(Bifunction function)
在这里, hashmap是HashMap
类的对象。
replaceAll()参数
replaceAll()
方法采用单个参数。
- 函数 -应用于哈希表每个条目的操作
replaceAll()返回值
replaceAll()
方法不返回任何值。相反,它用来自函数的新值替换了哈希图的所有值。
示例1:将所有值更改为大写
import java.util.HashMap;
class Main {
public static void main(String[] args) {
// create an HashMap
HashMap 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}
在上面的示例中,我们创建了一个名为language的哈希表。注意这一行,
languages.replaceAll((key, value) -> value.toUpperCase());
这里,
-
(key, value) -> value.toUpperCase()
是一个lambda表达式。它将哈希表的所有值都转换为大写并返回。要了解更多信息,请访问Java Lambda Expression。 -
replaceAll()
用lambda表达式返回的值替换哈希图的所有值。
示例2:将所有值替换为键的平方
import java.util.HashMap;
class Main {
public static void main(String[] args) {
// create an HashMap
HashMap 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}
在上面的例子中,我们创建了一个名为HashMap的数字 。注意这一行,
numbers.replaceAll((key, value) -> key * key);
这里,
-
(key, value) -> key * key
-计算密钥 ,并返回它的平方 -
replaceAll()
-用(key, value) -> key * key
返回的值替换哈希图的所有值