Stream.iterate()
产生的流的第一个参数是种子,然后将种子传递给第二个参数带入计算,方法运行的结果被添加到流(下一次调用时带入),并被存储起来,作为下次调用 iterate()
方法时的第一个参数,以此类推。我们可以利用 iterate()
生成一个斐波那契数列
import java.util.stream.Stream;
public class Fibonacci {
int x =5;
Stream<Integer> numbers(){
return Stream.iterate(8,i ->{
int result = i + x;
x = i;
return result;
});
}
public static void main(String[] args) {
new Fibonacci().numbers().limit(10).forEach(System.out::println);
}
}
内容源资源于Java 编程思想,https://lingcoder.github.io/OnJava8/#/book/14-Streams?id=generate
全文地址见https://blog.csdn.net/liu123342/article/details/114300733