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