Лямбда-выражение
Лямбда-выражение - это конструкция языка Java, которая позволяет
кратко записать реализацию функционального интерфейса (интерфейса
с одним абстрактным методом) без создания отдельного класса.
Лямбда-выражение состоит из списка параметров, стрелки ->
и тела выражения. В левой части указываются параметры, которые
принимает функция, в правой части - тело лямбды: либо одно
выражение, либо блок кода в фигурных скобках.
Синтаксис
(parameters) -> expression
(parameters) -> { statements }
Пример
Давайте создадим лямбда-выражение, которое складывает два числа, и вызовем его через функциональный интерфейс:
interface Operation
{
int apply(int a, int b);
}
public class Main
{
public static void main(String[] args)
{
Operation sum = (a, b) -> a + b;
System.out.println(sum.apply(2, 3));
}
}
Результат выполнения кода:
5
Пример
Давайте используем лямбда-выражение с блоком кода и выведем сообщение на экран:
interface Printer
{
void print(String text);
}
public class Main
{
public static void main(String[] args)
{
Printer printer = (text) -> {
String res = "Message: " + text;
System.out.println(res);
};
printer.print("abcde");
}
}
Результат выполнения кода:
"Message: abcde"
Пример
Давайте применим лямбда-выражение вместе с методом 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.forEach((n) -> System.out.println(n * 2));
}
}
Результат выполнения кода:
2
4
6
8
10
Смотрите также
-
ключевое слово
var,
которое выводит тип переменной автоматически -
ключевое слово
return,
которое возвращает значение из метода -
ключевое слово
for-each,
который перебирает элементы коллекции -
ссылка на метод
method-ref,
которая сокращает запись лямбды