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 中高阶函数的常见示例的详细内容,更多请关注php中文网其它相关文章!
版权声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系 yyfuon@163.com