我正在寻找像
这样的东西val allInts = (1..).asSequence()
所以我可以,例如
allInts.take(5)
答案 0 :(得分:15)
val sequence = generateSequence(1) { it + 1 }
val taken = sequence.take(5);
taken.forEach { println(it) }
但这并不是无限的:当达到Integer.MAX_VALUE时它会溢出。
答案 1 :(得分:9)
使用Int.MAX_VALUE
作为上限。您不能有大于Int.MAX_VALUE
的整数。
val allInts = (1..Int.MAX_VALUE).asSequence()
答案 2 :(得分:2)
JB的答案很好,但你也可以选择
generateSequence(1, Int::inc)
如果你进入整个简洁的事情。