English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Метод replaceAll() класса Java HashMap заменяет все элементы хэш-таблицы результатами указанной функции.
Синтаксис метода replaceAll():
hashmap.replaceAll(Bifunction<K, V> 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("Обновленный HashMap: " + languages); } }
результат вывода
HashMap: {1=java, 2=javascript, 3=python} Обновленный HashMap: {1=JAVA, 2=JAVASCRIPT, 3=PYTHON}
В предыдущем примере мы создали хэш-мапу под названием languages. Обратите внимание на эту строку:
languages.replaceAll((key, value) -> value.toUpperCase());
здесь:
(key, value) -> value.toUpperCase() - это лямбда-выражение. Оно преобразует все значения хэш-таблицы в верхний регистр и возвращает. Для получения дополнительной информации посетитеJava Lambda выражения.
replaceAll() - Заменить все значения хэш-мапы на значение, возвращаемое лямбда-выражением.
import java.util.HashMap; class Main { public static void main(String[] args) { // Создать 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); //Replace all values with the square of the key numbers.replaceAll((key, value) -> key * key);; System.out.println("Обновленный HashMap: " + numbers); } }
результат вывода
HashMap: {5=0, 8=1, 9=2} Обновленный HashMap: {5=25, 8=64, 9=81}
В上面的 примере мы создали хеш-мапу с именем numbers. Обратите внимание на эту строку:
numbers.replaceAll((key, value) -> key * key);
здесь:
(key, value) -> key * key - вычислитьключвозвратить квадрат
replaceAll() - использовать (key,value)->key*key для замены всех значений hashmap