您的位置:

Kotlin List 遍历详解

一、Kotlin遍历数组

Kotlin 遍历数组可以使用 for 循环,语法形式类似于 Java。

val arr = arrayOf(1, 2, 3, 4, 5)
for (i in arr.indices) {
    println(arr[i])
}

上述代码使用 indices 属性来获取数组 arr 的下标范围,然后遍历输出数组元素。

此外,Kotlin 还提供了 forEach() 函数,用于遍历数组元素:

arr.forEach { println(it) }

二、Kotlin遍历Lambda中每一条语句

Kotlin 支持使用 Lambda 表达式来遍历集合中的元素,在 Lambda 中也可以实现对每个元素执行一系列逻辑操作。

下面的例子是在一个集合中遍历 Lambda 中的每一条语句,将它们依次输出:

val lambda = { println("Lambda 表达式中的第 1 条语句")
    println("Lambda 表达式中的第 2 条语句")
    println("Lambda 表达式中的第 3 条语句")
}
lambda()

三、Kotlin遍历集合

Kotlin 遍历 List 最常见的用法是使用 for 循环来遍历其所有元素。

val list = listOf(1, 2, 3, 4, 5)
for (i in list) {
    println(i)
}

此外,Kotlin 还提供了 forEach() 函数可以用于遍历集合元素:

list.forEach { println(it) }

四、Kotlin遍历Map

Kotlin 中遍历 Map 的方法比较类似于 Java 中的遍历,遍历过程中可以得到键值对。

val map = mapOf("one" to 1, "two" to 2, "three" to 3)
for ((key, value) in map) {
    println("$key -> $value")
}

上述代码中的“to”其实是一个中缀函数,实际上是调用了 mapOf 的扩展函数 Pair()。

五、Kotlin遍历字符串

Kotlin 中遍历字符串可以使用 for 循环,遍历字符串中的每一个字符。

val str = "hello"
for (c in str) {
    println(c)
}

六、Kotlin遍历对象字段

对于对象的字段,我们可以使用 with() 函数结合 Lambda 来遍历,这样能够更方便地对对象的字段执行操作。

data class Person(val name: String, val age: Int)
val person = Person("Tom", 19)
with(person) {
    println("name: $name, age: $age")
}

七、Kotlin遍历JsonObject

Kotlin 中使用 gson 库可以将 JSON 数据转化为 JsonObject 对象,遍历 JsonObject 也是非常常见的操作。

val jsonStr = "{\"name\":\"Tom\",\"age\":19}"
val jsonObj = JsonParser().parse(jsonStr).asJsonObject
for ((key, value) in jsonObj.entrySet()) {
    println("$key -> $value")
}

八、Kotlin脚本

Kotlin 可以作为脚本语言使用,可以直接在命令行或者在文本文件的顶部标注 shebang,指定要使用 Kotlin 解析器来解析脚本文件。

下面是一个打印列表元素的 Kotlin 脚本:

#!/usr/bin/env kotlin
val list = listOf(1, 2, 3, 4, 5)
list.forEach { println(it) }

运行上面的脚本可以使用以下命令:

kotlin script.kts