如何将intArray转换为Kotlin中的ArrayList <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) } } }