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 中高阶函数的常见示例的详细内容!