Kel*_*ung 11 java java-8 spliterator
我试图了解它是如何Spliterator
工作的,以及如何设计分裂器.我认识到这trySplit()
可能是更重要的方法之一Spliterator
,但是当我看到一些第三方Spliterator
实现时,有时我会看到他们的分裂器trySplit()
无条件地返回null .
问题:
Spliterator
无条件返回null 之间有区别吗?看起来这样的分裂者似乎击败了分裂.trySplit()
,但是有一个无条件返回null的分裂器的合法用例吗?虽然 Spliterator 相对于 Iterator 的主要优点是,正如您所说的,它的 trySplit() 方法允许它并行化,但还有其他显着的优点:
http://docs.oracle.com/javase/8/docs/api/java/util/Spliterator.html
Spliterator API 旨在通过支持分解和单元素迭代来支持高效的并行遍历以及顺序遍历。此外,通过 Spliterator 访问元素的协议旨在施加比 Iterator 更小的每个元素开销,并避免为 hasNext() 和 next() 使用单独的方法所涉及的固有竞争。
此外,Spliterators 可以使用StreamSupport.stream直接转换为 Streams以利用 Java8 的流。
归档时间: |
|
查看次数: |
893 次 |
最近记录: |