相关疑难解决方法(0)

如何从Iterator <E>中创建一个无限的Stream <E>?

看看下面的课程我做了:

public class FibonacciSupplier implements Iterator<Integer> {
    private final IntPredicate hasNextPredicate;

    private int beforePrevious = 0;
    private int previous = 1;

    private FibonacciSupplier(final IntPredicate hasNextPredicate) {
        this.hasNextPredicate = hasNextPredicate;
    }

    @Override
    public boolean hasNext() {
        return hasNextPredicate.test(previous);
    }

    @Override
    public Integer next() {
        int result = beforePrevious + previous;
        beforePrevious = previous;
        previous = result;
        return result;
    }

    public static FibonacciSupplier infinite() {
        return new FibonacciSupplier(i -> true);
    }

    public static FibonacciSupplier finite(final IntPredicate predicate) {
        return new FibonacciSupplier(predicate);
    } …
Run Code Online (Sandbox Code Playgroud)

java iterator java-8 java-stream

22
推荐指数
2
解决办法
1万
查看次数

标签 统计

iterator ×1

java ×1

java-8 ×1

java-stream ×1