kotlin: foreach/foreachIndexed函数

一,例子遍历map

代码:

        //处理按钮点击事件
        binding.button1.setOnClickListener {
            // 遍历map
            val map = mapOf("A" to 1, "B" to 2)

            // 遍历键值对(Pair)
            map.forEach { (key, value) ->
                println("$key -> $value")
            }

            // 或直接使用 `it.key` 和 `it.value`
            map.forEach { println("${it.key}: ${it.value}") }
        }

运行结果:

image

二,例子:遍历list

代码:

        //处理按钮点击事件
        binding.button2.setOnClickListener {
            // 创建列表集合
            val list = listOf("Tom", "Jerry", "Jack")

            // 使用 for in 循环遍历
            for (name in list) {
                println("for : $name")
            }

            // 使用 forEach 遍历
            list.forEach {
                println("forEach : $it")
            }

            // 遍历时获取索引位置
            list.forEachIndexed { index, s ->
                println("索引:$index : 元素: $s")
            }
            //带索引遍历
            list.withIndex().forEach { (index, value) ->
                println("索引:$index: 元素: $value")
            }
        }

运行结果:

 image

三,例子:return 退出整个函数

代码:

函数:

//return 的行为
fun testForEach() {
    listOf(1, 2, 3).forEach {
        if (it == 2) return  // 直接退出整个函数!
        println(it)
    }
    println("End") // 不会执行
}

调用

        //处理按钮点击事件
        binding.button3.setOnClickListener {
            testForEach()
        }

运行结果:

 image

四,例子:使用标签控制 return

代码:

函数:

//使用标签控制 return
fun testForEachLabel() {
    listOf(1, 2, 3).forEach {
        if (it == 2) return@forEach  // 仅退出当前本次循环
        println(it)
    }
    println("End") // 会执行
}

调用:

        //处理按钮点击事件
        binding.button4.setOnClickListener {
            testForEachLabel()
        }

运行结果:

 image

posted @ 2025-08-16 08:10  刘宏缔的架构森林  阅读(21)  评论(0)    收藏  举报