chunked
является ближайшей стандартной библиотечной функцией для этого:
val list = listOf(1, 2, 3, 4, 5)
list.chunked(2) // [[1, 2], [3, 4], [5]]
Если вам нужен 0
или null
в последнем блоке, я бы простодобавьте список соответственно перед вызовом этой функции:
val list = listOf(1, 2, 3, 4, 5)
val paddedList = if (list.size % 2 == 0) list else (list + 0) // [1, 2, 3, 4, 5, 0]
paddedList.chunked(2) // [[1, 2], [3, 4], [5, 0]]