Java HashMap replaceAll()方法用指定函數(shù)的結(jié)果替換哈希表的所有映射。
replaceAll()方法的語法為:
hashmap.replaceAll(Bifunction<K, V> function)
function -應(yīng)用于哈希映射每個(gè)條目的操作
replaceAll()方法不返回任何值。 而是用函數(shù)中的新值替換哈希映射的所有值。
import java.util.HashMap;
class Main {
public static void main(String[] args) {
//創(chuàng)建 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);
}
}輸出結(jié)果
HashMap: {1=java, 2=javascript, 3=python}
Updated HashMap: {1=JAVA, 2=JAVASCRIPT, 3=PYTHON}在上面的示例中,我們創(chuàng)建了一個(gè)名為languages的哈希映射。注意這一行,
languages.replaceAll((key, value) -> value.toUpperCase());
這里,
(key, value) -> value.toUpperCase() - 是lambda表達(dá)式。它將哈希表的所有值都轉(zhuǎn)換為大寫并返回。要了解更多信息,請(qǐng)?jiān)L問Java Lambda 表達(dá)式。
replaceAll() - 將哈希映射的所有值替換為lambda表達(dá)式返回的值。
import java.util.HashMap;
class Main {
public static void main(String[] args) {
// 創(chuàng)建 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);
}
}輸出結(jié)果
HashMap: {5=0, 8=1, 9=2}
更新后 HashMap: {5=25, 8=64, 9=81}在上面的示例中,我們創(chuàng)建了一個(gè)名為numbers的哈希映射。注意這一行,
numbers.replaceAll((key, value) -> key * key);
這里,
(key, value) -> key * key - 計(jì)算鍵的平方并返回
replaceAll() - 用 (key,value)->key*key 返回的值替換hashmap的所有值