8.4 小结
本章介绍了流,这是Java 8中引入的一种新特性,它受到了函数式编程的启示,而且为使用新的lambda表达式铺平了道路。流是一个数据序列(并不是一个数据结构),允许以顺序或者并发方式应用一个操作序列,对元素进行筛选、转换、排序、约简或组织,以获得一个最终对象。
你也了解了流的主要特征,在自己的串行应用程序或并发应用程序中使用这些流时,应该对它们加以考虑。
最后,我们在两个样例中使用了流。第一个样例几乎使用了Stream接口提供的全部方法,以计算一个大规模数据集的统计数据。其中,使用了UCI机器学习资源库的Online Retail数据集。第二个样例实现了多种不同的方式来在倒排索引中构建一个搜索应用程序,以便获得与查询最相关的文档。这是信息检索领域最常见的任务之一。为此,我们使用了reduce()方法作为流的末端操作。
下一章将继续讲解流,但是会更加关注collect()末端操作。
