容器类型

数组

在Kotlin中,数组类型分为:

  1. 原生类型数组,他在内存中是连续存储的基本类型值的集合,不包含对象头信息,因此可以更高效地存储大量的基本类型数据。主要包括:

    1. IntArray,对应基本类型int

    2. DoubleArray,对应基本类型double

    3. FloatArray,对应基本类型float

    4. LongArray,对应基本类型long

    5. ShortArray,对应基本类型short

    6. ByteArray,对应基本类型byte

    7. BooleanArray,对应基本类型boolean

  2. 对象类型数组,数组元素是对象,包含对象头和实际数据。与原生类型数组不同,对象类型数组不能直接用于高性能计算:

    1. Array

    2. Array<Any>

Kotlin中的数组是不可变的,即数组创建后其大小和元素类型就不能更改。如果需要修改数组的元素,可以使用相应的数组下标运算符进行赋值操作。同时,Kotlin也提供了许多方便的函数和运算符来处理数组,例如size属性、forEach函数、filter函数等等。

创建数组

// 创建一个 Array<String> 初始化为 ["0", "1", "4", "9", "16"]
val asc = Array(5) { i -> (i * i).toString() }

// 创建一个原生数组,指定长度
val arr = IntArray(5)

// 创建一个原生数组,指定元素
val x: IntArray = intArrayOf(1, 2, 3)

// 创建一个原生数组,使用 lambda 表达式初始化数组中的值,it代表循环索引
var arr = IntArray(5) { it * 1 } // 数组的值为 [0, 1, 2, 3, 4]

// 创建一个原生数组,使用 lambda 表达式初始化数组中的值
val arr = IntArray(5) { 42 } // 数组的值为 [42, 42, 42, 42, 42] 

获取长度

数组的长度获取是通过访问数组的size属性来获得的:

访问数组元素

数组的访问使用[]运算符完成:

数组的循环

最后更新于

这有帮助吗?