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

Лямбда-выражение

Лямбда-выражение - это конструкция языка 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,
    которая сокращает запись лямбды
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить