Какие функции функционального программирования были внедрены в Java 8?
Ответ от нейросети
sobes.tech AI
В Java 8 были внедрены ключевые функции функционального программирования, которые значительно упростили работу с коллекциями и потоками данных:
-
Лямбда-выражения — позволяют писать анонимные функции, которые можно передавать как параметры, что упрощает код и делает его более выразительным.
-
Функциональные интерфейсы — интерфейсы с одним абстрактным методом, например,
Function<T,R>,Predicate<T>,Consumer<T>, которые используются вместе с лямбдами. -
Stream API — предоставляет удобный способ обработки коллекций в функциональном стиле: фильтрация, отображение, сортировка, агрегация и т.д.
-
Методы по умолчанию и статические методы в интерфейсах — позволяют добавлять реализацию в интерфейсы, что облегчает расширение API без нарушения обратной совместимости.
Пример использования лямбда-выражения и Stream API:
List<String> names = Arrays.asList("Anna", "Bob", "Charlie", "David");
List<String> filtered = names.stream()
.filter(name -> name.startsWith("A"))
.collect(Collectors.toList());
System.out.println(filtered); // [Anna]