如何在Kotlin中创建一个无限长的序列
我正在寻找类似的东西
val allInts = (1..).asSequence()
所以我可以,例如
allInts.take(5)
val sequence = generateSequence(1) { it + 1 } val taken = sequence.take(5); taken.forEach { println(it) }
但这并不是真正的无限:当达到Integer.MAX_VALUE时,它会溢出。
使用Int.MAX_VALUE
作为上限。 您不能有一个大于Int.MAX_VALUE
的整数。
val allInts = (1..Int.MAX_VALUE).asSequence()
JB的回答很好,但你也可以跟着去
generateSequence(1, Int::inc)
如果你是整个简洁的事情。