Java 中高阶函数的常见示例

java中的高阶函数可以接收或返回函数,以下是常见示例:接收函数作为参数:foreach、map、filter返回函数:comparator.comparing、predicate、runnable

Java 中高阶函数的常见示例

Java 中高阶函数的常见示例

高阶函数是一种可以接收函数作为参数或返回函数的函数。在 Java 中,函数是一等公民,这意味着它们可以像其他对象一样被传递。

以下是 Java 中高阶函数的一些常见示例:

接收函数作为参数

  • forEach:遍历集合并对每个元素执行给定的函数。
  • map:根据给定的函数将集合中的每个元素转换为新的集合。
  • filter:根据给定的函数过滤集合,仅保留满足条件的元素。

返回函数

  • Comparator.comparing:返回一个比较器,该比较器可以比较给定键上的对象。
  • Predicate:返回一个布尔函数,可以测试给定输入是否满足给定条件。
  • Runnable:返回一个没有参数的、表示要执行的代码块的函数。

实战案例

让我们考虑一个计算集合中元素平方和的示例。我们可以使用 map 和 sum 高阶函数来实现此目的:

import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;

public class Main {
    public static void main(String[] args) {
        List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);

        // 映射每个元素的平方
        List<Integer> squares = numbers.stream()
            .map(n -> n * n)
            .collect(Collectors.toList());

        // 求平方和
        int sum = squares.stream()
            .reduce(0, Integer::sum);

        System.out.println("平方和:" + sum);
    }
}

输出:

平方和:55

以上就是Java 中高阶函数的常见示例的详细内容,更多请关注其它相关文章!