函数式编程——高阶函数
如果函数满足下列任何一个条件,则认为它是一个高阶函数。
它将一个或多个参数作为函数。
它在其执行之后返回函数。
Java 8 Collections.sort() 方法是高阶函数的理想示例。它将比较方法作为参数。见下方示例 −
import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.stream.Collectors;
public class FunctionTester {
public static void main(String[] args) {
List<Integer> numbers = Arrays.asList(3, 4, 6, 7, 9);
//Passing a function as lambda expression
Collections.sort(numbers, (a,b) ->{ return a.compareTo(b); });
System.out.println(numbers);
Comparator<Integer> comparator = (a,b) ->{ return a.compareTo(b); };
Comparator<Integer> reverseComparator = comparator.reversed();
//Passing a function
Collections.sort(numbers, reverseComparator);
System.out.println(numbers);
}
}
输出
[3, 4, 6, 7, 9] [9, 7, 6, 4, 3]
广告