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,
广告