java - IntStream相对于普通Stream有什么优势?

标签 java functional-programming java-stream

IntStreamDoubleStreamLongStream 与 Java 8 中的常规流相比有何优势?

这些线程是否具有高性能或可用性?

最佳答案

Stream<Integer>等必须使用装箱值( Integer 而不是原始 int ),这需要更多的内存,并且通常需要大量装箱/拆箱操作(取决于您的代码)。为什么只有Int/Double/Long ?只是因为它们被认为是最常使用的。

同样适用于OptionalInt和 friend 以及所有功能界面。

对于集合(列表/映射/集合),出于同样的原因,有许多第三方库提供原始特化。实际上,问题更加严重,因为对于流,您不需要(通常;sorted() 是一个反例)需要在内存中存储许多值。

关于java - IntStream相对于普通Stream有什么优势?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54840920/

相关文章:

java - 如何使用 XPath 获取元素节点之间的原子值

n位的Java String HashCode?

Haskell 处理字符列表

java - 如果仅对 BinaryOperator 参数中的一个进行总结,Java 流实际上会减少什么?

java - 使用 java 流从列表创建 map 列表

java - Eclipse - 基本数组

java - 是否可以在eclipse运行时环境中定义jetty服务器?

kotlin - takeIf 函数内进行类型检查后进行智能转换

haskell - 理解函数式编程中的递归代数类型

java - 串行 Steam 的性能、内部工作和执行顺序