Kotlin中数组和列表的操作

字符串分割

1
val nameList = "张三;李四;王五".split(';')

注意

split操作返回的是List。

List转Array

1
val nameArr = "张三;李四;王五".split(';').toTypedArray()

map

1
val optList = "ABCDEFGHIJKLMN".map { it + "" }.toTypedArray()

注意

map操作返回的是List。

子数组

使用 sliceArray

1
2
3
4
5
val original = arrayOf(1, 2, 3, 4, 5)
// 可以传入一个索引范围
val subArray1 = original.sliceArray(1..3) // 结果为 [2, 3, 4]
// 也可以传入索引列表
val subArray2 = original.sliceArray(listOf(0, 2, 4)) // 结果为 [1, 3, 5]

这个是前后都包含

1
val useList = optList.sliceArray(0..optNum - 1)

使用copyOfRange

对于原生类型数组(如 IntArray、DoubleArray 等),同样适用上述方法:

1
2
val numbers = intArrayOf(10, 20, 30, 40, 50)
val subNumbers = numbers.copyOfRange(2, 4) // 结果为 [30, 40]

这个是不包含最后

1
val useList = optList.copyOfRange(0, optNum)