Kotlin 中 List 和 Array 类型的区别
androidmobile developmentapps/applicationskotlin 更新于 2026/1/5 22:52:17
List 和 array 是 Kotlin 支持的两个常用集合。根据定义,这两个集合都分配连续的内存位置。本文将通过一个示例来演示这两种集合之间的区别。
| Attribute | Array | List |
|---|---|---|
| 实现 | Array 使用 Array<T> 类实现 | List<T>或 MutableList<T> 接口用于在 Kotlin 中实现 List。 |
| Mutable | Array<T> 是可变的,即其值可以更改。 | List<T> 本质上是不可变的。为了创建可变列表,需要使用 MutableList<T> 接口。 |
| Size | Array 的大小是固定的。它的大小不能增加或减少。 | MutableList<T> 确实具有 'add' 和 'remove' 函数,以便增加或减少 MutableList 的大小。 |
| 性能 | 使用它可以获得更好的性能,因为数组针对不同的原始数据类型(如 IntArray[]、DoubleArray[])进行了优化。 | 使用它可以获得更好的代码可访问性。由于大小本质上是动态的,因此内存管理良好。 |
示例
在下面的示例中,我们将了解如何在 Kotlin 中声明数组和列表,以及如何操作它们的值。
fun main(args: Array<String>) {
val a = arrayOf(1, 2, 3)
// 打印数组 a 的所有值
println("The Array contains:")
a.forEach{
println(it)
}
val names = listOf("stud1", "stud2", "stud3")
// Printing all the values of list names
println("
The List contains: ")
names.forEach {
println(it)
}
var days: MutableList<String> = mutableListOf(
"Monday", "Tuesday", "Wednesday",
"Thursday", "Friday", "Saturday", "Sunday"
)
// Printing all the values of MutableList list
println("
Given Mutable List contains:")
days.forEach{
print(it)
}
println("
Mutable List after modification:")
days.forEach{
print(it + ", ")
}
}
输出
它将生成以下输出 −
The Array contains: 1 2 3 The List contains: stud1 stud2 stud3 Given Mutable List contains: MondayTuesdayWednesdayThursdayFridaySaturdaySunday Mutable List after modification: Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday,

