parallelStream 处理100w数据
时间: 2023-10-20 10:18:44 浏览: 86
ParallelStream 可以在多个线程上并行处理数据,以加快处理速度。例如,我们可以使用 ParallelStream 来处理100w个整数的列表:
```java
List<Integer> list = new ArrayList<>();
for (int i = 0; i < 1000000; i++) {
list.add(i);
}
// 串行处理
long start = System.currentTimeMillis();
list.stream().forEach(i -> {
// 处理逻辑
});
long end = System.currentTimeMillis();
System.out.println("串行处理时间:" + (end - start) + "ms");
// 并行处理
start = System.currentTimeMillis();
list.parallelStream().forEach(i -> {
// 处理逻辑
});
end = System.currentTimeMillis();
System.out.println("并行处理时间:" + (end - start) + "ms");
```
在上面的代码中,我们首先创建了一个包含100w个整数的列表。然后,我们使用串行流和并行流分别对列表进行处理。在处理过程中,我们可以在 lambda 表达式中加入相应的处理逻辑。
最后,我们分别打印出处理时间,并比较两者的差别。可以看到,使用并行流处理的时间要比串行流处理的时间快很多,特别是在数据量较大的情况下。
阅读全文