List.windowed()
Создаёт скользящие окна заданного размера.
Сигнатура
fun <T> Iterable<T>.windowed(size: Int, step: Int = 1): List<List<T>>windowed() возвращает список «окон» — последовательных срезов длиной size, сдвигающихся на step элементов.
val nums = listOf(1, 2, 3, 4)
println(nums.windowed(2)) // [[1, 2], [2, 3], [3, 4]]