Java HashMap replaceAll ()

Методът Java HashMap replaceAll () замества всички съпоставяния на hashmap с резултата от посочената функция.

Синтаксисът на 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()е ламбда израз. Той преобразува всички стойности на hashmap в главни букви и го връща. За да научите повече, посетете Java Lambda Expression.
  • replaceAll() замества всички стойности на hashmap със стойности, върнати от ламбда израза.

Пример 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() - замества всички стойности на hashmap със стойности, върнати от (key, value) -> key * key

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