Java SE 8 中的 Lambda 表达式与流处理
1. 引言
Java 编程的思维方式即将发生深刻变化。在 Java SE 8 之前,Java 支持三种编程范式:过程式编程、面向对象编程和泛型编程。而 Java SE 8 引入了函数式编程,这一范式的新语言和库功能作为 Project Lambda 的一部分被添加到 Java 中。
函数式编程能让我们编写程序的速度更快、代码更简洁,并且减少错误。此外,函数式程序更易于并行化,从而利用多核架构提升性能。在深入学习之前,建议回顾 Java SE 8 接口的新特性,包括默认方法和静态方法,以及函数式接口的概念。
2. 函数式编程技术概述
在之前的学习中,我们掌握了各种过程式、面向对象和泛型编程技术。通常,我们会先明确任务目标,然后详细指定实现方式。例如,要对数组 values 中的元素求和,可能会使用如下代码:
int sum = 0;
for (int counter = 0; counter < values.length; counter++)
sum += values[counter];
这种循环指定了如何将数组元素的值逐个累加到总和中,这是一种外部迭代方式,因为我们明确指定了迭代的方式,而非由库来决定。外部迭代要求按顺序访问元素,并且在执行任务时需要声明和使用可变变量(如 sum 和 counter )。
2.1 外部迭代的问题
大多数
超级会员免费看
订阅专栏 解锁全文
290

被折叠的 条评论
为什么被折叠?



