【问题标题】:Is there an equivalent on Kotlin for Swift init(repeating:count:)Swift init(repeating:count:) 在 Kotlin 上是否有等价物
【发布时间】:2017-09-09 04:33:42
【问题描述】:

我只是想知道 Kotlin 上是否有 Swift 初始化程序 init(repeating:count:) 的等价物

例如,创建具有空值的数组的数组非常有用

var arrayOfArray = [[String?]](repeating: [], count: 10)

我知道 Kotlin 有 listOf,但我不知道如何在一行中传递一个空列表数组...

【问题讨论】:

    标签: kotlin


    【解决方案1】:

    您可以使用init constructor(它可用于数组、列表、集合)

    // 10x0 Array<Array<String>>
    val arrayOfArray = Array(10) { emptyArray<String>() }
    
    // 10x4 List<List<Int>>
    val listOfList = List(10) { List(4) { it } }
    

    【讨论】:

    • 后者创建10个Lists,每个包含这4个列表:[0][0,1][0,1,2][0,1,2,3]对吗? (编辑:更正了基于 0 的索引)
    • @CodeConfident 第一个创建 1 个包含 10 个空数组的数组。后者创建 1 个列表,每个列表有 10 个列表 [0, 1, 2, 3]。
    • 啊哈!我混淆了参数。所以我可以使用List(4) { List(it+1) { it } } 创建[[0],[0,1],[0,1,2],[0,1,2,3]]
    • @RuckusT-Boom 完美!谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-12-26
    • 1970-01-01
    • 1970-01-01
    • 2016-12-13
    • 1970-01-01
    • 2018-12-22
    • 1970-01-01
    相关资源
    最近更新 更多