Kotlin中List和Array有什么区别?何时使用哪个?
大家好!我刚学Kotlin,从Java转过来的。Kotlin中有两个相似的类型:`List`和`Array`。我看到它们都存储多个元素,但搞不懂关键区别以及何时用哪个。
例如,我写一个简单的程序来存储学生姓名:
```kotlin
val namesArray = arrayOf("Alice", "Bob", "Charlie")
val namesList = listOf("Alice", "Bob", "Charlie")
```
两者都能用,我可以通过索引访问:`namesArray[0]`和`namesList[0]`都返回"Alice"。但我注意到`Array`有属性`size`,而`List`有`count()`。另外,我可以修改数组元素:
```kotlin
namesArray[0] = "Eve" // 可以
namesList[0] = "Eve" // 编译错误
```
为什么这样?我还听说`List`可以是可变的(`MutableList`),而数组总是可变的。但如果`MutableList`做同样的事,那为什么还需要`Array`?这和性能有什么关系?请指点一下根本区别。