Lambda / predicate

Hi folks, above is a perfectly working code. However, I would like to know how does one write the line "check(animalList, a -> a.isPurrer());" with full lambda signature (signature blueprint is like this: (Animal a) -> { return a.canHop(); } ).
And one more question, how often are lambdas and predicates used in a real life coding?
Thanks in advance!