Kotlin 不可变数组和可变数组

在 Kotlin 中,可以使用数组来存储一组相同类型的元素。Kotlin 提供了两种类型的数组:不可变数组和可变数组。

不可变数组(Immutable Arrays)

  • 不可变数组的大小(元素数量)在创建后就确定,并且不能更改。

  • 使用 arrayOf() 函数或者 arrayOfNulls() 函数创建不可变数组。

  • 不可变数组中的元素值是固定的,不可更改。

    下面是创建和使用不可变数组的示例:

    复制代码
     fun main() {
         // 创建一个不可变的数组,元素类型为 Int
         val numbers = arrayOf(1, 2, 3, 4, 5)
         
         // 创建一个不可变的数组,元素类型为 String
         val fruits = arrayOf("Apple", "Banana", "Orange")
     
         // 访问数组元素
         val number = numbers[2]
         println(number) // 输出: 3
     
         // 迭代数组
         for (fruit in fruits) {
             println(fruit)
         }
     
         // 获取数组长度
         val length = numbers.size
         println(length) // 输出: 5
     }

在上述示例中,我们首先使用 arrayOf() 函数创建了一个包含整数的不可变数组 numbers,以及一个包含字符串的不可变数组 fruits。

我们可以使用索引运算符 [] 来访问数组中的元素。例如,numbers[2] 表示访问 numbers 数组中索引为 2 的元素,即 3。

使用 for 循环可以迭代访问数组中的元素,并打印出来。

通过 size 属性可以获取数组的长度。

可变数组(Mutable Arrays)

  • 可变数组的大小是可变的,可以根据需要进行动态调整。

  • 使用 mutableListOf() 函数或者 ArrayList 类创建可变数组。

  • 可以通过添加、删除和更新元素来修改可变数组。

    下面是创建和使用可变数组的示例:

    复制代码
     fun main() {
         // 创建一个空的可变数组,元素类型为 Int
         val numbers = mutableListOf<Int>()
         
         // 创建一个包含元素的可变数组,元素类型为 String
         val fruits = mutableListOf("Apple", "Banana", "Orange")
     
         // 添加元素
         numbers.add(1)
         numbers.add(2)
         numbers.add(3)
     
         // 删除元素
         fruits.remove("Banana")
     
         // 更新元素
         fruits[0] = "Grape"
     
         // 访问数组元素
         val fruit = fruits[1]
         println(fruit) // 输出: Banana
         
         // 迭代数组
         for (number in numbers) {
             println(number)
         }
     
         // 获取数组长度
         val length = fruits.size
         println(length) // 输出: 2
     }

在上述示例中,我们首先使用 mutableListOf() 函数创建了一个空的可变数组 numbers,以及一个包含字符串的可变数组 fruits。

我们可以使用 add() 方法向可变数组中添加元素,使用 remove() 方法删除元素。numbers.add(1) 表示将元素 1 添加到 numbers 数组中。

通过索引运算符 [] 可以访问和更新数组中的元素。例如,fruits[1] 表示访问 fruits 数组中索引为 1 的元素(原始值为 "Banana")。

最后,我们使用 size 属性获取数组的长度。

需要注意的是:

  • 不可变数组和可变数组之间在操作上有一些差异,可变数组提供了更多的修改操作方法。
  • 当需要频繁地修改集合的大小时,可变数组更加灵活和高效。但是如果集合的大小是固定不变的,则可以选择不可变数组来提高性能和安全性。
相关推荐
JJay.16 小时前
Android Kotlin 协程使用指南
android·开发语言·kotlin
BLUcoding17 小时前
Android 布局介绍
android
summerkissyou198717 小时前
android-蓝牙-状态和协议值总结及监听例子
android·蓝牙
徒 花17 小时前
数据库知识复习05
android·数据库
提子拌饭13319 小时前
番茄时间管理:鸿蒙Flutter 实现的高效时间管理工具
android·flutter·华为·架构·开源·harmonyos·鸿蒙
4311媒体网19 小时前
帝国CMS二次开发实战:精准实现“最新资讯”标识与高亮判断
android
BLUcoding20 小时前
Android 轻量级本地存储 SharedPreferences
android
冬奇Lab20 小时前
Camera HAL3 接口:Android 相机的真正底牌
android·音视频开发·源码阅读
sensen_kiss20 小时前
CAN302 Technologies for E-Commerce 电子商务技术 Pt.6 市场营销与SEO(搜索引擎优化)
android·学习·搜索引擎
UXbot20 小时前
2026年AI全链路产品开发工具对比:5款从创意到上线一站式平台深度解析
前端·ui·kotlin·软件构建·swift·原型模式