📜  kotlin 数组大小 - Kotlin (1)

📅  最后修改于: 2023-12-03 14:43:42.018000             🧑  作者: Mango

Kotlin 数组大小

在 Kotlin 中,我们可以使用 size 属性来获取数组的大小。下面是一个示例:

val arr = arrayOf(1, 2, 3, 4, 5)
println(arr.size) // 输出:5

除了普通数组,Kotlin 还提供了一些其他类型的数组,如可变数组 MutableList

对于可变数组,我们可以使用 size 属性来获取当前数组元素的数量。同时,我们还可以使用 capacity 属性来获取当前数组所能容纳的最大元素数。

下面是一个示例:

val arr = mutableListOf<Int>()
for (i in 1..10) {
    arr.add(i)
    println("size: ${arr.size}, capacity: ${arr.capacity()}")
}

输出如下:

size: 1, capacity: 10
size: 2, capacity: 10
size: 3, capacity: 10
size: 4, capacity: 10
size: 5, capacity: 10
size: 6, capacity: 10
size: 7, capacity: 10
size: 8, capacity: 10
size: 9, capacity: 10
size: 10, capacity: 10

可以看到,初始化时 MutableList 的容量为 10,在逐步添加元素时,其容量不会随着元素数量的增加而改变。

如果需要在保证数组元素数量不变的前提下,改变数组容量,我们可以使用 ensureCapacity 函数:

val arr = mutableListOf(1, 2, 3, 4, 5)
println("size: ${arr.size}, capacity: ${arr.capacity()}")

arr.ensureCapacity(10)
println("size: ${arr.size}, capacity: ${arr.capacity()}")

输出如下:

size: 5, capacity: 5
size: 5, capacity: 10

可以看到,调用 ensureCapacity 函数后,数组的容量变为了 10,但其元素数量仍为 5

总之,无论是普通数组还是可变数组,在 Kotlin 中都可以使用 size 属性来获取数组的大小,而对于可变数组,我们还可以使用 capacity 属性和 ensureCapacity 函数来操作其容量。