1 流的操作的特点
1.1 流的操作的核心机制
流的操作区别于传统的集合操作的一大特点是,在Java 8中,流的操作是通过将外部迭代转向内部迭代来实现的。
在Java 8 Stream API中,流的操作实际上相当于对数据进行一系列的”筛选”操作,而”筛选”的标准实际上是一个个具体的”方法”,在Java 8 Stream中,是通过将这些筛选方法作为Stream流的一系列内部迭代的方法参数来实现的。
以下面的例子展开讲解。
现在要求将车的价格在300百万以上的车定义为高档车。
-
解决办法:使用filter()方法进行筛选;
-
筛选条件:car.getPrice() > 300即可;
这里,filter()方法是Stream的内部迭代方法,而car.getPrice() > 300是该filter()方法的一个内部参数。
示例代码:List highPriceCar;
highPriceCar = garage.stream()
.filter(car -> car.getPrice() > 300)
.collect(toList());
1.2 流的操作的优势
与传统的集合操作相比,流的操作主要有以下两个优势:
- 可并行操作,解决单线程的不足
- 处理更具有针对性,处理效率高