Java 8 中有两大最为重要的改革,第一个是 Lambda 表达式,另外一个则是 Stream API(java.util.stream.*)。Stream 是 Java 8 中处理集合的关键抽象概念,它可以指定你希望对集合进行的操作,可以执行非常复杂的查找、过滤和映射数据等操作。使用 Stream API 对集合数据进行,就类似于使用 SQL 执行的数据库查询。也可以使用 Stream API 来并行执行操作。简而言之,Stream API 提供了一种高效且易于使用的处理数据的方式。

在开发中使用 Lambda 表达式时,我们如果每次都自己定义函数接口也是一件很麻烦的事情,所以java 8 已经提供了一个函数式接口供我们来使用。最常用的接口包括 `Function`、`Predicate` 、`Supplier` 和 `Consumer`,它们是在 `java.util.function` 包中定义的,平常基本的使用都是可以满足的,如果再有其它满足不了的需求,再进行自定义接口。