Map.forEach()
Выполняет действие для каждой пары словаря.
Доступно с: Java 8
Синтаксис
default void forEach(BiConsumer<? super K, ? super V> action)Параметры
| Параметр | Тип | Описание |
|---|---|---|
| action | BiConsumer<? super K, ? super V> | Действие, которое получает ключ и значение. |
Примеры
Печать пар лямбдой:
void main() {
Map<String, Integer> ages = new TreeMap<>(Map.of("Anna", 31, "Oleg", 25));
ages.forEach((name, age) -> IO.println(name + " is " + age));
}Результат:
Anna is 31
Oleg is 25Примечания
Лямбда получает сразу два параметра — ключ и значение, без Map.Entry. Внутри нельзя менять сам словарь (добавлять или удалять ключи). Если нужен break или return из внешнего метода, используйте обычный цикл по entrySet().
См. также
- Map.entrySet() — Возвращает все пары «ключ — значение» для обхода.
- Iterable — Интерфейс всего, что можно обойти циклом for-each.
- Stream.forEach() — Выполняет действие для каждого элемента потока (завершающая операция).
Вопросы и ответы по теме
В учебнике
- Словари: Map и HashMap — Словари Map в Java: пары ключ — значение, put и get, getOrDefault, подсчёт с merge, TreeMap и LinkedHashMap.