Kotlin的遍历方法

for循环

在下面代码中1...10表示的是1到10,两边都是闭包,输出12345678910

java 复制代码
        for (i in 1..10) println(i)

加上花括号也支持

java 复制代码
        for (i: Int in 1..10) {
            println(i)
        }

另外,当对整数进行for循环时,Kotlin还提供了一个step函数来定义迭代的步长:

java 复制代码
        for (i in 1..10 step 2) print(i)
        13579

如果是倒序呢?也没有问题,可以用downTo方法来实现

java 复制代码
       for (i in 10 downTo 1 step 2) print(i) // 通过downTo,而不是10..1
        108642

此外,还有一个until函数来实现一个半开区间:

java 复制代码
       for (i in 1 until 10) { print(i) }
        123456789 // 并不包含10

in

可以使用in来判断成员关系

java 复制代码
println("a" in arrayOf("q","w","p")) //false
println("a" in arrayOf("q","a","p")) //true
println("a" !in arrayOf("q","w","p")) //true

除了等和不等,in还可以结合范围表达式来表示更多的含义:

java 复制代码
        "kot" in "abc".."xyz"
        true

上面代码在java中的表达式为

java 复制代码
        "kot" >= "abc" && "abc" <= "xyz"

此外,我们还可以通过调用一个withIndex方法,提供一个键值元组:

java 复制代码
        for ((index, value) in array.withIndex()) {
            println("the element at $index is $value")
        }
相关推荐
向量引擎1 分钟前
[架构师级] 压榨GPT-5.2与Sora 2的极限性能:从单体调用到高并发多模态Agent集群的演进之路(附全套Python源码与性能调优方案)
开发语言·人工智能·python·gpt·ai·ai写作·api调用
小白学大数据9 分钟前
Java 异步爬虫高效获取小红书短视频内容
java·开发语言·爬虫·python·音视频
我命由我1234510 分钟前
Android Jetpack Compose - Compose 重组、AlertDialog、LazyColumn、Column 与 Row
android·java·java-ee·kotlin·android studio·android jetpack·android-studio
solar应急响应11 分钟前
域控宕机!如何强制夺取五大角色恢复业务?
开发语言·php
数据的世界0115 分钟前
C# 获评2025年度编程语言-编程语言排行榜2026年1月
开发语言
愤怒的代码27 分钟前
在 Android 中执行 View.invalidate() 方法后经历了什么
android·java·kotlin
2201_7578308734 分钟前
Bean原理篇
java·开发语言
草原上唱山歌43 分钟前
推荐学习的C++书籍
开发语言·c++·学习
asdfg12589631 小时前
小程序开发中的JS和Go的对比及用途
开发语言·javascript·golang
FL16238631291 小时前
基于yolo11实现的车辆实时交通流量进出统计与速度测量系统python源码+演示视频
开发语言·python·音视频