在 Kotlin 中,数组和集合是用于存储多个元素的数据结构。这里我们会详细介绍 Kotlin 中数组和集合的用法。
1.数组(Array)
创建数组:
在 Kotlin 中,可以使用 arrayOf()
函数创建数组。例如:
val arr = arrayOf(1, 2, 3, 4, 5)
创建指定长度和初始化的数组:
val arr2 = Array(5) { i -> (i * i).toString() }
数组元素的访问和修改:
val firstElement = arr[0] // 获取第一个元素
arr[1] = 6 // 将第二个元素设置为 6
数组的常用方法和属性:
val size = arr.size // 数组大小
val isEmpty = arr.isEmpty() // 是否为空
val contains = arr.contains(3) // 是否包含元素 3
2.集合(Collections)
在 Kotlin 中,集合分为两大类:只读集合和可变集合。集合主要有三种类型:List、Set 和 Map。
2.1列表(List)
创建列表:
val list = listOf(1, 2, 3, 4, 5) // 只读列表
val mutableList = mutableListOf(1, 2, 3, 4, 5) // 可变列表
列表元素的访问:
val firstElement = list[0] // 获取第一个元素
列表元素的修改(仅限于可变列表):
mutableList[1] = 6 // 将第二个元素设置为 6
列表的常用方法和属性:
val size = list.size // 列表大小
val isEmpty = list.isEmpty() // 是否为空
val contains = list.contains(3) // 是否包含元素 3
val subList = list.subList(1, 4) // 获取子列表
2.2 集合(Set)
创建集合:
val set = setOf(1, 2, 3, 4, 5) // 只读集合
val mutableSet = mutableSetOf(1, 2, 3, 4, 5) // 可变集合
集合的常用方法和属性:
val size = set.size // 集合大小
val isEmpty = set.isEmpty() // 是否为空
val contains = set.contains(3) // 是否包含元素 3
2.3 映射(Map)
创建映射:
val map = mapOf(1 to "One", 2 to "Two", 3 to "Three") // 只读映射
val mutableMap = mutableMapOf(1 to "One", 2 to "Two", 3 to "Three") // 可变映射
映射元素的访问:
val value = map[1] // 获取键为 1 的值
映射元素的修改(仅限于可变映射):
mutableMap[1] = "Updated One" // 更新键为 1 的值
映射的常用方法和属性:
val size = map.size // 映射大小
val isEmpty = map.isEmpty() // 是否为空
val containsKey = map.containsKey(1) // 是否包含键为 1 的元素
val containsValue = map.containsValue("One") // 是否包含值为 "One" 的元素
val keys = map.keys // 获取映射的所有键
val values = map.values // 获取映射的所有值
对集合进行操作(适用于 List、Set 和 Map):
1.迭代
for (element in list) {
println(element)
}
for (index in list.indices) {
println("Element at $index is ${list[index]}")
}
for ((key, value) in map) {
println("Key: $key, Value: $value")
}
2.过滤
val filteredList = list.filter { it % 2 == 0 } // 过滤出偶数元素的列表
3.映射
val squaredList = list.map { it * it } // 计算每个元素的平方
4.排序
val sortedList = list.sorted() // 生成排序后的列表
val sortedDescendingList = list.sortedDescending() // 生成降序排序后的列表
5.归约
val sum = list.reduce { acc, i -> acc + i } // 计算列表中所有元素的和
6.分组
val groupedByEvenOdd = list.groupBy { if (it % 2 == 0) "even" else "odd" } // 将元素按奇偶分组
这些只是 Kotlin 中数组和集合的基本用法。