Лямбда-выражения
Лямбда-выражения - это нововведение в языке Java, введенное в Java 8, которое позволяет создавать краткие анонимные функции (функциональные интерфейсы) прямо внутри кода. Лямбда-выражения представляют собой удобный способ передать функциональность в метод или другой код без необходимости создания отдельного класса.
Основные особенности лямбда-выражений в Java:
Синтаксис: Лямбда-выражения состоят из списка параметров, символа
->
(стрелка) и тела выражения. Синтаксис выглядит следующим образом:(параметры) -> {тело_выражения}
.Типы параметров: В большинстве случаев типы параметров можно опустить, так как компилятор Java способен вывести их автоматически из контекста. Например,
(x, y) -> x + y
.Интерфейсы функционального программирования: Лямбда-выражения используются преимущественно с функциональными интерфейсами, которые содержат только один абстрактный метод. В Java 8 было введено множество предопределенных функциональных интерфейсов в пакете
java.util.function
, таких какPredicate
,Consumer
,Supplier
иFunction
.Контексты использования: Лямбда-выражения часто используются вместе с методами высшего порядка, такими как
map
,filter
,reduce
в потоках данных (Stream API), а также в других местах, где требуется передача функциональности как аргумента метода.
Пример использования лямбда-выражений в Java:
В этом примере лямбда-выражение (number) -> System.out.println(number * 2)
передается методу forEach
, который выводит удвоенные значения чисел из списка. После этого используется лямбда-выражение (number) -> number % 2 == 0
, переданное методу removeIf
, который удаляет все четные числа из списка.
Last updated