Ответ
Лямбда-выражение в Java — это краткая форма записи реализации функционального интерфейса (интерфейса с одним абстрактным методом). По сути, это анонимная функция, которую можно передавать как аргумент или сохранять в переменной. Появилось в Java 8.
Основные особенности:
- Не имеет имени.
- Типы параметров часто могут быть выведены компилятором из контекста.
- Позволяет писать более чистый и функциональный код.
Синтаксис: (parameters) -> expression или (parameters) -> { statements; }
Примеры:
// 1. Реализация Runnable
Runnable oldRunnable = new Runnable() {
@Override
public void run() {
System.out.println("Hello");
}
};
Runnable lambdaRunnable = () -> System.out.println("Hello");
// 2. Использование с функциональным интерфейсом Comparator
List<String> list = Arrays.asList("a", "c", "b");
Collections.sort(list, (s1, s2) -> s1.compareTo(s2));
// 3. Использование с Stream API
list.stream()
.filter(s -> s.startsWith("a"))
.forEach(System.out::println);
Почему это важно: Лямбды — основа для Stream API и позволяют писать декларативный, легко читаемый код для обработки коллекций.