Kotlin中如何初始化声明ArrayList<ArrayList<Int>>并单行返回预设数据
Kotlin 单行初始化返回 ArrayList<ArrayList> 方案
直接嵌套调用Kotlin标准库提供的arrayListOf方法即可,该方法原生返回ArrayList类型,不需要额外类型转换:
方案1:直接写入预设字面量
fun returnArray(): ArrayList<ArrayList<Int>> { return arrayListOf(arrayListOf(1, 2, 3), arrayListOf(4, 5, 6), arrayListOf(7, 8, 9)) }
你可以按照需求替换括号内的整数,新增/删除内层arrayListOf项即可适配你的预设数据规模。
方案2:基于已有的List类型数据转换
如果你的预设数据已经存储在其他List变量中,可以用如下写法转换:
// 假设你已经有了两个预设的List<Int> val presetList1 = listOf(10, 20, 30) val presetList2 = listOf(40, 50, 60) fun returnArray(): ArrayList<ArrayList<Int>> { return arrayListOf(arrayListOf(*presetList1.toTypedArray()), arrayListOf(*presetList2.toTypedArray())) }
注:如果需要显式指定泛型避免类型推导出错,也可以补全泛型声明:
return arrayListOf<ArrayList<Int>>(arrayListOf(1,2), arrayListOf(3,4))
内容的提问来源于stack exchange,提问作者CodeThisAndThat
相关产品推荐
相关产品推荐

