Я нашел следующий фрагмент кода:
Function<Integer, Predicate<Integer>> smallerThan = x -> y -> y < x;
List<Integer> l = Arrays.asList(5, 6, 7, 23, 4, 5645,
6, 1223, 44453, 60182, 2836, 23993, 1);
List<Integer> list2 = l.stream()
.filter(smallerThan.apply(l.get(0)))
.collect(Collectors.toList());
System.out.println(list2);
В качестве вывода я получаю:
[4, 1]
Как работает функция smallerThan
в этом примере, учитывая, что мы передаем только один параметр smallerThan.apply(l.get(0))
?