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.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.replaceAll((key, value) -> key * key);

Ось,

  • (key, value) -> key * key- обчислює квадрат ключа і повертає його
  • replaceAll() - замінює всі значення хеш-карти значеннями, повернутими (key, value) -> key * key

Цікаві статті...