Назад к вопросам
Middle
69
questionbank
Что такое лямбда-выражения в Java и какую функциональность они предоставляют?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
Лямбда-выражения в Java (начиная с версии 8) — это компактный способ представления анонимных функций.
Предоставляют следующую функциональность:
- Реализация функциональных интерфейсов: Лямбда-выражение реализует единственный абстрактный метод функционального интерфейса.
- Параметризация поведения: Позволяют передавать поведение (логику) в качестве аргументов в методы.
- Повышение читаемости кода: Заменяют анонимные внутренние классы для слушателей событий, компараторов и т.д., делая код более лаконичным.
- Интеграция с Stream APИ: Основной способ работы с потоками данных для фильтрации, преобразования и агрегации.
Пример синтаксиса:
// (параметры) -> { тело выражения }
// Без параметров:
Runnable runnable = () -> System.out.println("Hello Lambda!");
// С одним параметром:
Consumer<String> greeter = name -> System.out.println("Hello, " + name);
// С несколькими параметрами:
BiFunction<Integer, Integer, Integer> adder = (a, b) -> a + b;
// С блоком кода:
Comparator<String> lengthComparator = (str1, str2) -> {
int len1 = str1.length();
int len2 = str2.length();
return Integer.compare(len1, len2);
};