IntStream
、DoubleStream
或 LongStream
与 Java 8 中的常规流相比有何优势?
这些线程是否具有高性能或可用性?
最佳答案
Stream<Integer>
等必须使用装箱值( Integer
而不是原始 int
),这需要更多的内存,并且通常需要大量装箱/拆箱操作(取决于您的代码)。为什么只有Int/Double/Long
?只是因为它们被认为是最常使用的。
同样适用于OptionalInt
和 friend 以及所有功能界面。
对于集合(列表/映射/集合),出于同样的原因,有许多第三方库提供原始特化。实际上,问题更加严重,因为对于流,您不需要(通常;sorted()
是一个反例)需要在内存中存储许多值。
关于java - IntStream相对于普通Stream有什么优势?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54840920/