Sobes.tech
Back to questions
Junior — Middle
72

Какие функции функционального программирования были внедрены в Java 8?

Answer from AI

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]