Kotlin中的数组

数组是一种常见的数据结构,用于存储相同类型的多个元素。在 Kotlin 中,我们可以使用不同的方式声明、初始化和操作数组。

在 Kotlin 中,有多种方式可以定义和操作数组。我们将通过以下示例代码来展示不同的数组操作:

kotlin 复制代码
fun main() {
    // 声明和初始化数组
    var intArray: IntArray = intArrayOf(1, 2, 3)
    var stringArray: Array<String> = arrayOf("a", "BC")
    var intArray2: Array<Int> = arrayOf(1, 2, 3)

    // 先声明后赋值
    var intArray1: IntArray

    // 初始化数组
    intArray1 = intArrayOf(1, 2, 3)

    // 访问数组元素
    println("intArray1[0]=${intArray1[0]}") // intArray1[0]=1
    println("intArray1[1]=${intArray1[1]}") // intArray1[1]=2
    println("intArray1[2]=${intArray1[2]}") // intArray1[2]=3

    // 获取数组长度
    println("数组的长度:${intArray1.size}") // 数组的长度:3

    // 遍历数组的元素
    for (i in intArray1) {
        print("i=$i \t") // i=1 i=2 i=3
    }
    println()

    // 遍历数组的下标和元素
    for ((index, i) in intArray1.withIndex()) {
        print("index=$index i=$i \t") // index=0 i=1 index=1 i=2 index=2 i=3
    }
    println()

    // 获取数组的最大值
    var intArray3: IntArray = intArrayOf(1, 2, 3, 4)
    var max: Int = 0
    max = intArray3[0]
    for (i in intArray3) {
        if (i > max) {
            max = i
        }
    }
    println("max=$max") // max=4

    // 修改数组
    var intArray4: IntArray = intArrayOf(1, 2, 3, 4)
    intArray4[0] = 10
    intArray4.set(1, 20)
    intArray4.forEachIndexed { index, e ->
        print("index=$index e=$e\t") // index=0 e=10 index=1 e=20 index=2 e=3 index=3 e=4
    }
    println()

    // 查找
    var intArray5: IntArray = intArrayOf(6, 4, 3, 4, 9)
    println("第一个元素为4的索引为" + intArray5.indexOf(4)) // 第一个元素为4的索引为1
    var firstIndex = intArray5.indexOfFirst { it == 4 }
    println("第一个元素为4的索引为" + firstIndex) // 第一个元素为4的索引为1
    println("最后一个元素为4的索引为" + intArray5.lastIndexOf(4)) // 最后一个元素为4的索引为3
    var lastIndex = intArray5.indexOfLast { it == 4 }
    println("最后一个元素为4的索引为" + lastIndex) // 最后一个元素为4的索引为3
}

在上述示例中,我们演示了 Kotlin 中数组的声明、访问、遍历和修改等操作。具体而言:

  • 我们使用 intArrayOfarrayOf 分别声明了 IntArrayArray 类型的数组,并进行了初始化。

  • 通过索引访问和修改数组元素,使用方括号 [] 运算符进行访问,或使用 set 方法进行修改。

  • 使用 size 属性获取数组的长度。

  • 使用 for 循环遍历数组的元素,或使用 withIndex 方法遍历数组的下标和元素。

  • 使用循环和条件判断来查找数组中的最大值。

  • 使用 indexOf、`在上述示例中,我们演示了 Kotlin 中数组的声明、访问、遍历和修改等操作。具体而言:

  • 我们使用 intArrayOfarrayOf 分别声明了 IntArrayArray 类型的数组,并进行了初始化。

  • 通过索引访问和修改数组元素,使用方括号 [] 运算符进行访问,或使用 set 方法进行修改。

  • 使用 size 属性获取数组的长度。

  • 使用 for 循环遍历数组的元素,或使用 withIndex 方法遍历数组的下标和元素。

  • 使用循环和条件判断来查找数组中的最大值。

  • 使用 indexOfindexOfFirstlastIndexOf 方法查找数组中指定元素的索引。

以上就是使用 Kotlin 编写数组操作的示例代码。

相关推荐
fundroid8 小时前
Kotlin 泛型进阶:in、out 与 reified 实战
android·开发语言·kotlin
JMchen12320 小时前
现代Android图像处理管道:从CameraX到OpenGL的60fps实时滤镜架构
android·图像处理·架构·kotlin·android studio·opengl·camerax
JMchen1232 天前
Android CameraX深度解析:从Camera1到CameraX的相机架构演进
android·java·数码相机·架构·kotlin·移动开发·android-studio
倔强的石头1062 天前
【Linux指南】进程控制系列(五)实战 —— 微型 Shell 命令行解释器实现
linux·运维·kotlin
Hz4533 天前
Android Jetpack核心组件协同实战:Navigation 3.X+Lifecycle+Flow+Hilt的架构革新
android·kotlin
JMchen1233 天前
Android音频编码原理与实践:从AAC到Opus,深入解析音频编码技术与移动端实现
android·经验分享·学习·kotlin·android studio·音视频·aac
JMchen1233 天前
Android音频处理全解析:从3A算法到空间音频,打造专业级音频体验
android·经验分享·算法·kotlin·android studio·音视频
瓦特what?3 天前
C++编程防坑指南(小说版)
android·c++·kotlin
一招定胜负3 天前
卷积神经网络提取人脸五个特征点
人工智能·cnn·kotlin
HeDongDong-3 天前
详解 Kotlin 的函数
开发语言·python·kotlin