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

Метод andThen класса Function

Метод andThen класса Function позволяет объединить две функции в одну цепочку. Сначала выполняется исходная функция, а затем результат её применения передаётся в качестве аргумента второй функции. В параметр метода мы передаём вторую функцию, которая будет выполнена после первой.

Синтаксис

Function<T, R> andThen(Function<? super R, ? extends V> after)

Пример

Давайте создадим две функции: первая удваивает число, вторая преобразует число в строку с пояснением. Объединим их с помощью andThen:

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

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

"Result: 10"

Пример

Давайте применим цепочку функций к потоку строк. Первая функция приводит строку к верхнему регистру, вторая добавляет восклицательный знак:

import java.util.List; import java.util.function.Function; import java.util.stream.Collectors; public class Main { public static void main(String[] args) { Function<String, String> upper = s -> s.toUpperCase(); Function<String, String> exclaim = s -> s + "!"; Function<String, String> combined = upper.andThen(exclaim); List<String> res = List.of("a", "b", "c") .stream() .map(combined) .collect(Collectors.toList()); System.out.println(res); } }

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

[A!, B!, C!]

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

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