Interfaz funcional
Una interfaz funcional es una interfaz de java que tiene UNO y solo UN método abstracto (método sin implementación), cuando creas un objeto de esa interfaz, le puedes pasar una lamba y en automático la lambda se va a implementar como si fuera ese único método abstracto; en pocas palabras tú le vas a pasar la lógica que quieras que haga con la lambda.
Function
La interfaz funcional Function va a recibir un tipo de dato y va a retornar otro diferente.
Esa interfaz funcional solamente cuenta con el método abstracto apply, que es el que va a ejecutar lo que pases en la lambda.