Я знаю, что это может быть очень простой вопрос о SO, но я хочу знать, в чем разница между Predicate и Function интерфейсом в Java8?
Predicate<String> predicateTest  = (s)-> s.length() > 5;       
System.out.println(predicateTest.test("Predicate"));
Function<String, Boolean> functionTest = str -> str.length()> 5;      
System.out.println(functionTest.apply("Function"));
  Здесь, в моем примере, оба возвращаются к true. Единственное, что можно назвать, - это другое?