Как мне заархивировать список и пропустить следующий в Kotlin? - PullRequest
0 голосов
/ 14 ноября 2018

Я надеюсь, что список, как [1,2,3,4,5] будет [(1,2),(3,4),(5,0 or null)].

Какую операцию использовать в Kotlin или Java.

И я попробовал zipWithNext, это будет [(1,2),(2,3),(3,4),(4,5)]

1 Ответ

0 голосов
/ 14 ноября 2018

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]]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...