流计数与toList大小

Sag*_*gar 0 java java-stream

哪个更快?

myCollection.stream().filter(somePredicate).count();
Run Code Online (Sandbox Code Playgroud)

VS

myCollection.stream().filter(somePredicate).collect(Collectors.toList()).size();
Run Code Online (Sandbox Code Playgroud)

显然,第二个似乎更慢.但是想知道内部是否有任何优化?

Era*_*ran 6

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