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

Метод andThen

Метод andThen класса Consumer создает новый Consumer, который выполняет текущий Consumer, а затем переданный в параметре второй Consumer. В первый параметр мы передаем Consumer, который будет выполнен после текущего Consumer. Если первый Consumer выбросит исключение, второй Consumer выполнен не будет.

Синтаксис

consumer.andThen(after)

Пример

Давайте объединим два Consumer и применим их к каждому элементу списка:

import java.util.List; import java.util.function.Consumer; public class Main { public static void main(String[] args) { List<String> list = List.of("a", "b", "c", "d", "e"); Consumer<String> first = s -> System.out.println("first: " + s); Consumer<String> second = s -> System.out.println("second: " + s); Consumer<String> combined = first.andThen(second); list.forEach(combined); } }

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

"first: a" "second: a" "first: b" "second: b" "first: c" "second: c" "first: d" "second: d" "first: e" "second: e"

Пример

Давайте объединим три Consumer в цепочку и применим результат к списку чисел:

import java.util.List; import java.util.function.Consumer; public class Main { public static void main(String[] args) { List<Integer> list = List.of(1, 2, 3, 4, 5); Consumer<Integer> first = n -> System.out.println("first: " + n); Consumer<Integer> second = n -> System.out.println("second: " + n); Consumer<Integer> third = n -> System.out.println("third: " + n); Consumer<Integer> combined = first.andThen(second).andThen(third); list.forEach(combined); } }

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

"first: 1" "second: 1" "third: 1" "first: 2" "second: 2" "third: 2" "first: 3" "second: 3" "third: 3" "first: 4" "second: 4" "third: 4" "first: 5" "second: 5" "third: 5"

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

  • класс Consumer,
    который представляет операцию над одним аргументом
  • метод accept,
    который выполняет операцию над аргументом
  • метод forEach,
    который применяет Consumer к каждому элементу
  • метод peek,
    который применяет Consumer к элементам потока
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить