Ответ
Да, использовал. Лямбда-выражения в Java — это анонимные функции, которые позволяют писать более компактный и читаемый код, особенно при работе с функциональными интерфейсами. Они являются основой функционального программирования в Java и часто применяются в Stream API, коллекциях и многопоточности.
Ключевые преимущества:
- Лаконичность: Заменяют громоздкие анонимные классы.
- Читаемость: Делают код более декларативным.
- Функциональный стиль: Упрощают работу с функциями как с объектами.
Примеры использования:
-
С Stream API и
forEach:List<String> names = Arrays.asList("Alice", "Bob", "Charlie"); names.forEach(name -> System.out.println(name)); -
С функциональным интерфейсом
Predicate:List<Integer> numbers = new ArrayList<>(Arrays.asList(1, 2, 3, 4, 5)); numbers.removeIf(n -> n % 2 == 0); // Удаляет все чётные числа System.out.println(numbers); // [1, 3, 5] -
Сортировка с
Comparator:List<String> words = Arrays.asList("beta", "alpha", "gamma"); words.sort((a, b) -> a.compareTo(b)); -
Создание потока
Runnable:new Thread(() -> System.out.println("Запуск в новом потоке")).start();
Лямбда-выражения работают с любым функциональным интерфейсом (интерфейсом с одним абстрактным методом, например, Runnable, Comparator, Callable).