stream()和parallelStream()
时间: 2023-11-09 22:00:45 浏览: 31
在Java 8中,Stream是一个非常强大的API,它提供了一种处理集合数据的新方式。Stream API提供了两种类型的流:串行流(stream())和并行流(parallelStream())。
串行流是指在单个线程上运行的流,而并行流是指在多个线程上同时运行的流。使用并行流可以加快处理大量数据的速度,但是在小数据集上使用并行流可能会导致性能下降。
下面是一个使用串行流和并行流的示例:
```
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
// 串行流
int sum = numbers.stream()
.filter(n -> n % 2 == 0)
.mapToInt(Integer::intValue)
.sum();
// 并行流
int parallelSum = numbers.parallelStream()
.filter(n -> n % 2 == 0)
.mapToInt(Integer::intValue)
.sum();
```
在这个示例中,我们使用了filter()方法来过滤出偶数,然后使用mapToInt()方法将它们转换为int类型,最后使用sum()方法计算它们的总和。在第一个示例中,我们使用了串行流来处理数据,在第二个示例中,我们使用了并行流来处理数据。