РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
527 of 1163 menu

Метод apply класса BiFunction

Метод apply класса BiFunction применяет функцию к двум аргументам и возвращает результат вычисления. Класс BiFunction является функциональным интерфейсом и принимает два входных параметра, а возвращает один результат. В первый параметр мы передаем первый аргумент функции, во второй - второй аргумент функции. Тип возвращаемого значения задается третьим generic-параметром.

Синтаксис

R apply(T t, U u)

Пример

Давайте создадим BiFunction, которая складывает два числа, и применим ее к числам 3 и 4:

import java.util.function.BiFunction; public class Main { public static void main(String[] args) { BiFunction<Integer, Integer, Integer> sum = (a, b) -> a + b; int res = sum.apply(3, 4); System.out.println(res); } }

Результат выполнения кода:

7

Пример

Давайте создадим BiFunction, которая соединяет две строки через дефис, и применим ее к строкам "abcde" и "12345":

import java.util.function.BiFunction; public class Main { public static void main(String[] args) { BiFunction<String, String, String> concat = (a, b) -> a + "-" + b; String res = concat.apply("abcde", "12345"); System.out.println(res); } }

Результат выполнения кода:

"abcde-12345"

Пример

Давайте используем BiFunction вместе с методом reduce для суммирования всех элементов потока:

import java.util.List; import java.util.function.BiFunction; public class Main { public static void main(String[] args) { List<Integer> list = List.of(1, 2, 3, 4, 5); BiFunction<Integer, Integer, Integer> sum = (a, b) -> a + b; int res = list.stream().reduce(0, sum::apply); System.out.println(res); } }

Результат выполнения кода:

15

Смотрите также

  • класс BiFunction,
    который представляет функцию от двух аргументов
  • метод apply,
    который применяет функцию к одному аргументу
  • метод reduce,
    который сворачивает элементы потока
  • метод map,
    который преобразует элементы потока
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить