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 属性获取数组的长度。

需要注意的是:

  • 不可变数组和可变数组之间在操作上有一些差异,可变数组提供了更多的修改操作方法。
  • 当需要频繁地修改集合的大小时,可变数组更加灵活和高效。但是如果集合的大小是固定不变的,则可以选择不可变数组来提高性能和安全性。
相关推荐
百锦再36 分钟前
Android Studio开发 SharedPreferences 详解
android·ide·android studio
青春给了狗1 小时前
Android 14 修改侧滑手势动画效果
android
CYRUS STUDIO1 小时前
Android APP 热修复原理
android·app·frida·hotfix·热修复
火柴就是我2 小时前
首次使用Android Studio时,http proxy,gradle问题解决
android
limingade2 小时前
手机打电话时电脑坐席同时收听对方说话并插入IVR预录声音片段
android·智能手机·电脑·蓝牙电话·电脑打电话
浩浩测试一下2 小时前
计算机网络中的DHCP是什么呀? 详情解答
android·网络·计算机网络·安全·web安全·网络安全·安全架构
喵手3 小时前
从 Java 到 Kotlin:在现有项目中迁移的最佳实践!
java·python·kotlin
青春给了狗4 小时前
Android 14 系统统一修改app启动时图标大小和圆角
android
pengyu4 小时前
【Flutter 状态管理 - 柒】 | InheritedWidget:藏在组件树里的"魔法"✨
android·flutter·dart
居然是阿宋6 小时前
Kotlin高阶函数 vs Lambda表达式:关键区别与协作关系
android·开发语言·kotlin