有许多Java第三方库可提供Java集合的高性能。根据这篇DZONE文章,有一些本地库遵循OSGI模型,可以在Java集合中提供高性能并执行其他一些操作。现在,在Java 8
中,推出了Streams
以提供集合库的良好性能,并且我们也可以使用Streams
执行一些并行操作。现在,以下是我的问题:
- Java Streams的性能是否比
Trove
、Javolution
等第三方库更好? - 是否可以将
Java 8 Streams
与其他集合库一起使用?
有许多Java第三方库可提供Java集合的高性能。根据这篇DZONE文章,有一些本地库遵循OSGI模型,可以在Java集合中提供高性能并执行其他一些操作。现在,在Java 8
中,推出了Streams
以提供集合库的良好性能,并且我们也可以使用Streams
执行一些并行操作。现在,以下是我的问题:
Trove
、Javolution
等第三方库更好?Java 8 Streams
与其他集合库一起使用?尽管Trove原始集合不属于Java集合框架(它们没有实现Collection
,List
,Map
接口),但这不妨碍它们原则上提供流API。
Trove、Javalution和我跟踪的大多数其他集合库目前还不支持高效的流实现。它们没有覆盖spliterator()
方法以返回一个实现trySplit()
方法并利用并行流特性的Spliterator
实现。
正如我在这里提到的: Java 8:Streams与Collections的性能,流不是一种无敌的性能工具,只有在你还没有使用并行处理处理庞大的集合时才会显着提高性能,但如果没有障碍可以使用并行流。