【问题标题】:How to convert multidimensional array to multidimensional list in Kotlin?如何在 Kotlin 中将多维数组转换为多维列表?
【发布时间】:2019-06-25 09:57:14
【问题描述】:

我正在为一个拼字游戏制作一个网格,我试图用一个 2D 数组来表示它,以便我可以使用 [] 轻松填充它。但是我如何将其转换为 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)
}

【问题讨论】:

    标签: arrays list multidimensional-array kotlin


    【解决方案1】:

    要将其转换为List&lt;List&lt;Cell&gt;&gt;,您可以只将map 转换为toList

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

    但这有制作深拷贝的缺点。要使 JVM 上的数组的结果可变,您可以使用 java.util.Arrays.asList() 包装它们:

    cells.map { Arrays.asList(*it) }
    

    【讨论】:

      猜你喜欢
      • 2013-05-17
      • 2021-04-15
      • 2012-04-04
      • 2015-01-06
      • 2015-08-18
      • 2019-07-09
      • 2011-08-24
      • 2019-04-03
      • 1970-01-01
      相关资源
      最近更新 更多