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 小时前
蜗牛学苑 Java 智能体学习 Day45|Knife4j+SpringBoot3、书城项目整合 MyBatis 思维导图复盘
java·开发语言·vue.js·学习·spring
我的xiaodoujiao1 小时前
Django 基础知识详细图文教程 9-Django 模板引擎 2
开发语言·数据库·后端·django
菜鸟~noob2331 小时前
【太空电子战】从CCS到Meadowlands:反通信系统的二十年演进史【含matlab代码】
开发语言·matlab
ai2work2 小时前
ch11 持久化:DataStore + Gson 多会话
kotlin
quantdash_cc2 小时前
量化策略为什么需要实时行情数据?从信号产生到交易决策的时间差说起
开发语言·python·数据分析·量化交易·股票数据·quantdash
逆向编程4 小时前
QGIS地图投影(CRS坐标参照系)设置
开发语言
free-elcmacom4 小时前
发际线警告!手撕《C陷阱与缺陷》终极 BOSS:signal 函数与 typedef 魔法
c语言·开发语言·visual studio code·visual studio
程序员阿鹏4 小时前
简单介绍一下软引用
java·开发语言·jvm·数据结构·后端
haluhalu.5 小时前
初识 Protobuf:微服务跨语言通信的一份契约
java·c语言·开发语言·c++·python
孙启超5 小时前
【AI开发之Rust】第 12 课:并发模型与同步原语
开发语言·后端·rust