There are few functional interfaces namely Consumer, Supplier, Predicate and Functions
- Consumer:
+ 1 input, 0 output
+ java.util.function.Consumer
+ example: Consumer<List<String>> printConsumer = list -> list.stream().forEach(System.out::println);
- Supplier:
+ 0 input, 1 output
+ java.util.function.Supplier
+ example: Supplier<Double> doubleSupplier1 = () -> Math.random();
- Predicate:
+ 1 input, 1 boolean output
+ java.util.function.Predicate
+ example: Predicate<String> nameStartsWithS = str -> str.startsWith("S");
- Function:
+ 1 input, 1 output
+ java.util.function.Function
+ example: Function<String, Integer> nameMappingFunction = String::length;