Краткое преобразование списка в массив <DoubleArray>? - PullRequest
0 голосов
/ 05 мая 2020

Я написал это в Kotlin:

        fun fromLists(cells: List<List<Double>>): Matrix {
            return Matrix(cells.stream()
                .map { x -> x.toDoubleArray() }
                .toArray { i: Int -> Array(i, { k: Int -> DoubleArray(k) }) } )
        }

Есть ли способ уменьшить повторение в этом коде?

(Matrix сам по себе неинтересен, он просто оборачивает Array<DoubleArray>)

1 Ответ

3 голосов
/ 06 мая 2020
val ex1: Array<DoubleArray> = cells.map { it.toDoubleArray() }.toTypedArray()

// this should be faster, it doesn't create extra List like the previous example
val ex2: Array<DoubleArray> = Array(cells.size) { i -> cells[i].toDoubleArray() }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...