Метод Java HashMap replaceAll () заменяет все сопоставления хэш-карты результатом указанной функции.
Синтаксис 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) Обновленный HashMap: (1 = JAVA, 2 = JAVASCRIPT, 3 = PYTHON)
В приведенном выше примере мы создали хэш-карту с именем languages. Обратите внимание на линию,
languages.replaceAll((key, value) -> value.toUpperCase());
Вот,
(key, value) -> value.toUpperCase()
является лямбда-выражением. Он преобразует все значения хэш-карты в верхний регистр и возвращает его. Чтобы узнать больше, посетите Java Lambda Expression.replaceAll()
заменяет все значения хэш-карты значениями, возвращаемыми лямбда-выражением.
Пример 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) Обновленная HashMap: (5 = 25, 8 = 64, 9 = 81)
В приведенном выше примере мы создали хэш-карту с именем numbers. Обратите внимание на линию,
numbers.replaceAll((key, value) -> key * key);
Вот,
(key, value) -> key * key
- вычисляет квадрат ключа и возвращает егоreplaceAll()
- заменяет все значения хеш-карты значениями, возвращаемыми(key, value) -> key * key