如何在 Kotlin 中将 intArray 转换为 ArrayList<Int>?
从
val array = intArrayOf(5, 3, 0, 2, 4, 1, 0, 5, 2, 3, 1, 4)
我需要转换为ArrayList<Int>
我试过array.toTypedArray()
但它改为Array<Int>
从
val array = intArrayOf(5, 3, 0, 2, 4, 1, 0, 5, 2, 3, 1, 4)
我需要转换为ArrayList<Int>
我试过array.toTypedArray()
但它改为Array<Int>
您可以使用 toCollection
函数并指定为要填充的可变集合:ArrayList
val arrayList = intArrayOf(1, 2, 5).toCollection(ArrayList())
你可以通过一个简单的 toList
调用,如下所示:List<Int>
val list = intArrayOf(5, 3, 0, 2).toList()
但是,如果您确实需要,也可以创建它:ArrayList
val list = arrayListOf(*intArrayOf(5, 3, 0, 2).toTypedArray())
或者按照@Ilya的建议使用更惯用的 Kotlin API:
val arrayList = intArrayOf(1, 2, 5).toCollection(ArrayList())
或者,如果您想自己完成上述操作并保存一些分配:
val arrayList = intArrayOf(5, 3, 0, 2).let { intList ->
ArrayList<Int>(intList.size).apply { intList.forEach { add(it) } }
}