A lambda needs a type, and that type is a functional interface with exactly one abstract method. Knowing the built-in ones like Predicate, Function, Supplier and Consumer lets you read stream code and write your own methods that accept behaviour. Use them before creating a new interface of your own. Interviewers often ask what makes an interface functional and which method each one has.