背景
今天遇到一个小需求,现在有一个列表,消费完了希望又从头开始消费,直到别的信号过来,停止这个过程
所以需要生成一个 无限循环数字流
, 对应的就是列表索引下边
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)
只是为了看效果,代码注释掉之后,就是无限
的
网友评论