Giới thiệu
List và Array đều cấp phát bộ nhớ liên tiếp. Bảng so sánh:
| Thuộc tính | Array | List |
|---|---|---|
| Implementation | Class Array<T> |
Interface List<T> hoặc MutableList<T> |
| Mutable | Mutable (thay đổi giá trị phần tử) | List<T> immutable; dùng MutableList<T> để mutable |
| Size | Cố định | MutableList có add/remove thay đổi size |
| Performance | Tối ưu cho kiểu nguyên thủy (IntArray, DoubleArray) |
Linh hoạt, quản lý bộ nhớ tốt nhờ size động |
Ví dụ minh họa
fun main(args: Array<String>) {
val a = arrayOf(1, 2, 3)
println("The Array contains:")
a.forEach { println(it) }
val names = listOf("stud1", "stud2", "stud3")
println("\nThe List contains:")
names.forEach { println(it) }
var days: MutableList<String> = mutableListOf(
"Monday", "Tuesday", "Wednesday",
"Thursday", "Friday", "Saturday", "Sunday"
)
println("\nGiven Mutable List contains:")
days.forEach { print(it) }
println("\n\nMutable List after modification:")
days.forEach { print(it + ", ") }
}
Kết quả
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,
Array kích thước cố định, List (MutableList) co giãn được.