Kotlin 中 List 和 Array 型別之間的區別
List 和 array 是 Kotlin 支援的兩種流行集合。根據定義,這兩種集合都分配連續的記憶體位置。在本文中,我們將透過一個示例來演示這兩種集合型別之間的區別。
屬性 | 陣列 | 列表 |
---|---|---|
實現 | 陣列使用 Array<T> 類實現 | List<T> 或 MutableList<T> 介面用於在 Kotlin 中實現 List |
可變性 | Array<T> 是可變的,即值可以更改。 | List<T> 本質上是不可變的。為了建立一個可變列表,需要使用 MutableList<T> 介面。 |
大小 | 陣列的大小是固定的。它不能增加或減小大小。 | MutableList<T> 具有 'add' 和 'remove' 函式,以便增加或減少 MutableList 的大小。 |
效能 | 為了獲得更好的效能,可以使用陣列,因為它針對不同的原始資料型別(如 IntArray[]、DoubleArray[])進行了最佳化。 | 為了在程式碼中獲得更好的可訪問性,可以使用列表。由於大小是動態的,因此具有良好的記憶體管理。 |
示例
在以下示例中,我們將看到如何在 Kotlin 中宣告陣列和列表,以及如何操作它們的值。
fun main(args: Array<String>) { val a = arrayOf(1, 2, 3) // Printing all the values of array 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,
廣告