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

Метод apply

Метод apply является основным абстрактным методом функционального интерфейса Function. Он принимает один аргумент типа T и возвращает результат типа R. Иными словами, в первый (и единственный) параметр мы передаем значение, которое нужно преобразовать, а метод возвращает преобразованное значение согласно логике, заложенной в реализации функции.

Чаще всего apply используется неявно, например, когда мы передаем лямбда-выражение в метод map потока. Но его можно вызывать и напрямую, если у нас есть объект типа Function.

Синтаксис

R apply(T t)

Пример

Давайте создадим функцию, которая удваивает переданное число, и применим ее через apply:

import java.util.function.Function; public class Main { public static void main(String[] args) { Function<Integer, Integer> doubleIt = x -> x * 2; int res = doubleIt.apply(5); System.out.println(res); } }

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

10

Пример

Давайте создадим функцию, которая преобразует строку в ее длину, и применим ее к строке:

import java.util.function.Function; public class Main { public static void main(String[] args) { Function<String, Integer> length = s -> s.length(); int res = length.apply("abcde"); System.out.println(res); } }

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

5

Пример

Чаще всего apply вызывается неявно внутри метода map. Давайте создадим поток из строк и преобразуем каждую из них в верхний регистр:

import java.util.List; import java.util.stream.Collectors; public class Main { public static void main(String[] args) { List<String> list = List.of("a", "b", "c", "d", "e"); List<String> res = list.stream() .map(s -> s.toUpperCase()) .collect(Collectors.toList()); System.out.println(res); } }

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

[A, B, C, D, E]

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

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