=== Java Functional Programming
Predicate : - Accept one argument and return boolean result
- Is the input parameter of the methos [Link]
- It's main method is "test(T t)"
Function : - Accept object and return object
- It's method is "apply(T t)"
Consumer : - Accept one argument and return "no result"
- It's method is "accept(T t)"
- Used mainly to display result or do an operation without need to
return a result
Supplier : - Take "no argument" and it return a result
- It's method is "get()"
=== Java Streams