给定长度值length,把列表切分成每段长度为length的N段列表,Kotlin
Kotlin
import kotlin.random.Random
fun main(args: Array<String>) {
var source = mutableListOf<String>()
val end = Random.nextInt(30) + 1
for (i in 0 until end) {
source.add(i.toString())
}
println(source)
val length = Random.nextInt(source.size) + 1
var segment = source.size / length
if (source.size % length != 0) {
segment++
}
println("总长度:${source.size} 随机生成每段长度:$length 算出段数:$segment ")
var fromIndex = 0
var toIndex = 0
for (i in 0 until segment) {
fromIndex = i * length
toIndex = Math.min(fromIndex + length, source.size)
println(source.subList(fromIndex, toIndex))
}
}
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21]
总长度:22 随机生成每段长度:4 算出段数:6
[0, 1, 2, 3]
[4, 5, 6, 7]
[8, 9, 10, 11]
[12, 13, 14, 15]
[16, 17, 18, 19]
[20, 21]