如何在Kotlin中将intArray转换为ArrayList <int>?

时间:2016-10-14 06:14:26

标签: java kotlin

val array = intArrayOf(5, 3, 0, 2, 4, 1, 0, 5, 2, 3, 1, 4)

我需要转换为ArrayList<Int>

我试过了array.toTypedArray()

但它转换为Array<Int>而不是

2 个答案:

答案 0 :(得分:30)

您可以使用toCollection函数并指定ArrayList作为可变集合来填充:

val arrayList = intArrayOf(1, 2, 5).toCollection(ArrayList())

答案 1 :(得分:10)

您可以通过简单的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) } }
}