流计数与toList大小

时间:2018-06-08 19:27:54

标签: java java-stream

哪个更快?

myCollection.stream().filter(somePredicate).count();

VS

myCollection.stream().filter(somePredicate).collect(Collectors.toList()).size();
显然,第二个似乎更慢。但想知道内部是否有任何优化?

1 个答案:

答案 0 :(得分:6)

第二个代码段需要创建List个实例并将Stream的所有元素添加到其中。当然,这比仅计算Stream的元素数量要慢,这是第一个片段的作用。