Метод accept класса BiConsumer
Метод accept класса BiConsumer выполняет
операцию над двумя входными аргументами и не возвращает
результат. В первый параметр мы передаем первый аргумент
типа T, во второй - второй аргумент типа U.
Метод является функциональным и чаще всего используется
в терминальных операциях stream, например в forEach
для коллекций с парами ключ-значение.
Синтаксис
void accept(T t, U u)
Пример
Давайте создадим BiConsumer, который складывает
два числа и выводит результат на экран:
import java.util.function.BiConsumer;
public class Main
{
public static void main(String[] args)
{
BiConsumer<Integer, Integer> sum = (a, b) -> System.out.println(a + b);
sum.accept(1, 2);
sum.accept(3, 4);
}
}
Результат выполнения кода:
3
7
Пример
Давайте используем BiConsumer для вывода пар
ключ-значение из Map:
import java.util.Map;
import java.util.function.BiConsumer;
public class Main
{
public static void main(String[] args)
{
Map<String, Integer> map = Map.of("a", 1, "b", 2, "c", 3);
BiConsumer<String, Integer> printer = (key, value) ->
System.out.println(key + " = " + value);
map.forEach(printer);
}
}
Результат выполнения кода:
a = 1
b = 2
c = 3
Пример
Давайте создадим BiConsumer, который объединяет
две строки и выводит результат:
import java.util.function.BiConsumer;
public class Main
{
public static void main(String[] args)
{
BiConsumer<String, String> concat = (a, b) ->
System.out.println(a + b);
concat.accept("abc", "de");
concat.accept("12", "345");
}
}
Результат выполнения кода:
abcde
12345
Смотрите также
-
класс
BiConsumer,
который представляет операцию над двумя аргументами -
метод
acceptкласса Consumer,
который выполняет операцию над одним аргументом -
метод
forEach,
который применяет действие к каждому элементу stream -
класс
BiFunction,
который принимает два аргумента и возвращает результат