Java IntStream迭代与生成何时使用什么?
2022-09-01 18:53:20
它似乎只是一个轻量级的有序版本。是真的吗?如果不是,核心区别是什么?IntStream.iterate
IntStream.generate
它似乎只是一个轻量级的有序版本。是真的吗?如果不是,核心区别是什么?IntStream.iterate
IntStream.generate
请注意它们的签名有何不同:
generate
取 一个 ,这意味着你应该生成整数而不被赋予任何东西。示例用法包括创建相同整数的常量流,创建随机整数流。请注意,流中的每个元素都不依赖于前一个元素。IntSupplier
iterate
采用 a 和 a,这意味着您应该基于前一个元素生成每个元素。例如,这对于创建归纳定义的序列非常有用。在这种情况下,每个元素都应该依赖于前一个元素。seed
IntUnaryOperator
IntStream.iterate
另一方面,返回有序的 IntStream
返回无序的 IntStream
,这有助于加快并行流管道的速度。IntStream.generate
IntStream.generate
首选生成Javadoc中指定的随机或常量值,我猜最有可能是返回的流的特征。