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

Класс Consumer

Класс Consumer - это функциональный интерфейс из пакета java.util.function, который представляет операцию, принимающую один входной аргумент и не возвращающую никакого результата. В единственный параметр мы передаем значение, которое нужно потребить, то есть обработать внутри метода accept. Поскольку интерфейс является функциональным, его можно реализовать с помощью лямбда-выражения или ссылки на метод. Класс Consumer часто используется в stream для терминальных операций, таких как forEach и peek, а также для передачи действий в другие методы.

Синтаксис

@FunctionalInterface public interface Consumer<T> { void accept(T t); default Consumer<T> andThen(Consumer<? super T> after) }

Пример

Давайте создадим Consumer, который выводит полученное значение в консоль, и применим его к строке:

import java.util.function.Consumer; public class Main { public static void main(String[] args) { Consumer<String> print = s -> System.out.println(s); print.accept("abcde"); } }

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

"abcde"

Пример

Давайте используем Consumer вместе с методом forEach для вывода каждого элемента списка:

import java.util.List; public class Main { public static void main(String[] args) { List<Integer> list = List.of(1, 2, 3, 4, 5); list.stream().forEach(n -> System.out.println(n)); } }

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

1 2 3 4 5

Пример

Давайте объединим два Consumer с помощью метода andThen, чтобы выполнить их последовательно:

import java.util.function.Consumer; public class Main { public static void main(String[] args) { Consumer<String> first = s -> System.out.println("First: " + s); Consumer<String> second = s -> System.out.println("Second: " + s); Consumer<String> combined = first.andThen(second); combined.accept("abcde"); } }

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

"First: abcde" "Second: abcde"

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

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