java.util.function
Consumer - функциональный тип, обозначает действие, не возвращает никакого результата.
List<Integer> a = Arrays.asList(1,2,3,4,5,6);Predicate - функциональный тип, возвращает true/false используется для фильтрации данных
Consumer<Integer> print = x -> { System.out.println(x); };
Predicate<Integer> p = x -> x % 2 == 0; a.stream().filter(p).forEach(print);Function - замыкание возвращающее результат конкретного типа.
Function<Integer, String> f = x -> {return x % 2 == 0 ? "0" : String.valueOf(x*2); };
List<String> b = a.stream().map(f).collect(Collectors.toList());