Многие методы Stream API в качестве параметров принимают именно функциональные интерфейсы.
Любой интерфейс можно назвать функциональным, если он содержит один-единственный метод. Такой интерфейс снабжается аннотацией
@FunctionalInterface. Реализацию любого функционального интерфейса можно записать кратко в виде лямбды.В статье мы рассмотрим наиболее употребимые функциональные интерфейсы стандартной библиотеки. Все эти интерфейсы можно найти в пакете java.util.function.
