IntStream与普通Stream相比有什么优势?

时间:2019-02-23 11:06:44

标签: java functional-programming java-stream

在Java 8中,IntStreamDoubleStreamLongStream优于常规流吗?

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

1 个答案:

答案 0 :(得分:3)

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

OptionalInt和朋友以及所有功能界面都相同。

对于集合(列表/地图/集合),出于相同的原因,有许多第三方库提供原始专业化。确实存在更严重的问题,因为使用流不需要(通常; sorted()是反示例),不需要在内存中存储许多值。