Java HashMap replaceAll()方法用指定函數(shù)的結(jié)果替換哈希表的所有映射。
replaceAll()方法的語法為:
hashmap.replaceAll(Bifunction<K, V> function)
function -應(yīng)用于哈希映射每個條目的操作
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)建了一個名為languages的哈希映射。注意這一行,
languages.replaceAll((key, value) -> value.toUpperCase());
這里,
(key, value) -> value.toUpperCase() - 是lambda表達式。它將哈希表的所有值都轉(zhuǎn)換為大寫并返回。要了解更多信息,請訪問Java Lambda 表達式。
replaceAll() - 將哈希映射的所有值替換為lambda表達式返回的值。
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)建了一個名為numbers的哈希映射。注意這一行,
numbers.replaceAll((key, value) -> key * key);
這里,
(key, value) -> key * key - 計算鍵的平方并返回
replaceAll() - 用 (key,value)->key*key 返回的值替換hashmap的所有值