Gymterview
junior

Для чего нужен функциональный интерфейс BiConsumer?

BiConsumer<T, U> — функциональный интерфейс, который принимает два аргумента типов T и U, выполняет над ними побочный эффект и ничего не возвращает. Основной метод — accept(T t, U u).

Этот интерфейс часто используется совместно с Map.forEach(), где нужно обработать пару ключ-значение:

Пример
Map<String, Integer> map = Map.of("a", 1, "b", 2);
map.forEach((key, value) -> System.out.println(key + " = " + value));

BiConsumer также является целевым типом для default-метода andThen(), что позволяет создавать цепочки из нескольких операций над парой аргументов.

На собеседовании: достаточно сказать, что это двухаргументный аналог Consumer, и привести пример с Map.forEach().