Java8 Stream 无限流

2020-09-23  本文已影响0人  Yellowtail

背景

今天遇到一个小需求,现在有一个列表,消费完了希望又从头开始消费,直到别的信号过来,停止这个过程
所以需要生成一个 无限循环数字流, 对应的就是列表索引下边

code

import java.util.stream.IntStream;

/**
 * @author YellowTail
 * @since 2020-09-23
 */
public class InfiniteStream {

    public static void main(String[] args) {

        System.out.println("-----");
        IntStream.iterate(0, k ->  k + 1 > 9 ? 0 : k + 1)
            .limit(30)
            .forEach(k -> System.out.print(" " + k));
    }

}

输出

-----
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9

注意,我这里 limit(30) 只是为了看效果,代码注释掉之后,就是无限

参考

create-an-infinite-stream

上一篇下一篇

猜你喜欢

热点阅读