用Java8的IntStream生成斐波那契数列

来源:互联网 发布:fc2 最新域名 编辑:程序博客网 时间:2024/06/16 15:14

IntStreamJava8中提供的一个接口,利用它我们可以写一个生成斐波那契数列的帮助类。在这里,我假定数列从1开始。

import java.util.Arrays;import java.util.function.IntUnaryOperator;import java.util.stream.IntStream;public class Utility {public static IntStream generateFibonacciSequence() {return IntStream.iterate(1, new IntUnaryOperator() {private int prev = 0;@Overridepublic int applyAsInt(int operand) {int temp = operand + prev;prev = operand;return temp;}});}public static void main(String[] args) {// 生成前20项斐波那契数列// [1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597,// 2584, 4181, 6765]System.out.println(Arrays.toString(Utility.generateFibonacciSequence().limit(20).toArray()));}}

0 0
原创粉丝点击