Метод forEach
Метод forEach выполняет указанное действие
для каждого элемента HashMap. В первом параметре
мы передаем действие (лямбда-выражение или ссылку на метод),
которое принимает ключ и значение элемента. Метод
не возвращает результат и не изменяет саму мапу,
если только действие явно не модифицирует её.
Синтаксис
map.forEach((key, value) -> {
// action
});
Пример
Давайте создадим мапу с числами и выведем каждую пару ключ-значение в консоль:
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.forEach((key, value) -> {
System.out.println(key + " = " + value);
});
}
}
Результат выполнения кода:
a = 1
b = 2
c = 3
Пример
Давайте посчитаем сумму всех значений в мапе
с помощью метода forEach:
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);
int[] sum = {0};
map.forEach((key, value) -> {
sum[0] += value;
});
System.out.println(sum[0]);
}
}
Результат выполнения кода:
6
Пример
Давайте изменим значения в мапе, добавив к каждому
числу 10:
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.forEach((key, value) -> {
map.put(key, value + 10);
});
System.out.println(map);
}
}
Результат выполнения кода:
{a=11, b=12, c=13}
Смотрите также
-
метод
entrySet,
который возвращает множество всех пар ключ-значение -
метод
keySet,
который возвращает множество всех ключей -
метод
values,
который возвращает коллекцию всех значений -
метод
replaceAll,
который заменяет все значения в мапе