Метод replaceAll
Метод replaceAll заменяет каждое значение в отображении
на результат применения переданной функции. Ключи при этом
остаются неизменными. В параметр мы передаем функцию
BiFunction, которая принимает ключ и текущее значение,
а возвращает новое значение. Метод изменяет исходную
коллекцию и ничего не возвращает.
Синтаксис
map.replaceAll((key, value) -> newValue)
Пример
Давайте увеличим все значения в отображении на 1:
import java.util.HashMap;
public class Main
{
public static void main(String[] args)
{
HashMap<String, Integer> map = new HashMap<>();
map.put("a", 1);
map.put("b", 2);
map.put("c", 3);
map.replaceAll((key, value) -> value + 1);
System.out.println(map);
}
}
Результат выполнения кода:
{a=2, b=3, c=4}
Пример
Давайте заменим все строковые значения на их длину:
import java.util.HashMap;
public class Main
{
public static void main(String[] args)
{
HashMap<String, String> map = new HashMap<>();
map.put("a", "abcde");
map.put("b", "12345");
map.replaceAll((key, value) -> value.length() + "");
System.out.println(map);
}
}
Результат выполнения кода:
{a=5, b=5}