English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Java HashMap replaceAll()方法用指定函数的结果替换哈希表的所有映射。
replaceAll()方法的语法为:
hashmap.replaceAll(Bifunction<K, V> function)
function -应用于哈希映射每个条目的操作
replaceAll()方法不返回任何值。 而是用函数中的新值替换哈希映射的所有值。
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); } }
Ausgabeergebnis
HashMap: {1=java, 2=javascript, 3=python} Updated HashMap: {1=JAVA, 2=JAVASCRIPT, 3=PYTHON}
在上面的示例中,我们创建了一个名为languages的哈希映射。注意这一行,
languages.replaceAll((key, value) -> value.toUpperCase());
hier,
(key, value) -> value.toUpperCase() - 是lambda表达式。它将哈希表的所有值都转换为大写并返回。要了解更多信息,请访问Java Lambda-Ausdrücke。
replaceAll() - 将哈希映射的所有值替换为lambda表达式返回的值。
import java.util.HashMap; class Main { public static void main(String[] args) { // HashMap创建 HashMap<Integer, Integer> numbers = new HashMap<>(); // Eintrag in HashMap einfügen numbers.put(5, 0); numbers.put(8, 1); numbers.put(9, 2); System.out.println("HashMap: " + numbers); //alle Werte auf das Quadrat des Schlüssels setzen numbers.replaceAll((key, value) -> key * key);; System.out.println("aktualisierte HashMap: " + numbers); } }
Ausgabeergebnis
HashMap: {5=0, 8=1, 9=2} aktualisierte HashMap: {5=25, 8=64, 9=81}
In diesem Beispiel haben wir eine namens numbers gegebene Hash-Mapping erstellt. Beachten Sie diese Zeile,
numbers.replaceAll((key, value) -> key * key);
hier,
(key, value) -> key * key - berechnenSchlüsselquadrat und zurückgibt
replaceAll() - mit (key,value)->key*Der Wert, der von key zurückgegeben wird, ersetzt alle Werte im HashMap