Java HashMap replaceAll ()

Метод 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

Интересные статьи...