Как преобразовать многомерный массив в многомерный список в Kotlin? - PullRequest
0 голосов
/ 31 января 2019

Я делаю сетку для игры Scrabble, и я пытался представить ее с помощью двумерного массива, чтобы я мог легко заполнить ее, используя [].Но как мне преобразовать его в 2D-список (чтобы получить эти полезные методы)?

Я пытался использовать 2D-список, но не смог найти простой способ заполнить 255 индексов ячейками.

data class Cells(

    private val cells: Array<Array<Cell>> =
            Array<Array<Cell>>(15) {
                Array<Cell>(15) { Cell(NONE, null) }
            },
    val cellslist: List<List<Cell>> = ...
) {

init {

    cells[0][0] = Cell(X3_WORD, null)
    cells[0][1] = Cell(NONE, null)
    ...
    cells[14][13] = Cell(NONE, null)
    cells[14][14] = Cell(X3_WORD, null)
}

1 Ответ

0 голосов
/ 01 февраля 2019

Чтобы просто преобразовать его в List<List<Cell>>, вы можете просто map это toList:

cells.map(Array<Cell>::toList)

Но у этого есть обратная сторона создания глубокой копии.Чтобы результат был изменяемым с массивами в JVM, вы можете заключить их в java.util.Arrays.asList():

cells.map { Arrays.asList(*it) }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...