Kotlin for循环中downTo的用法

7,347 阅读1分钟

在Kotlin中想遍历1-100的数值可以这样写:

for (index in 1..100){
    print(index) //输出1,2,3,4...100
}

这是正序遍历

如果想要倒序遍历则可以使用标准库中定义的downTo()函数

for (index in 100 downTo 1){
    print(index) ////输出100,99,98,97...1
}

常用实例用法: 将栈中Activity移除至栈顶

fun removeToTop() {
    val end = activitys.size
    val start = 1
    for (i in end - 1 downTo start) {
        val mActivity = activitys[i].get()
        if (null != mActivity && !mActivity.isFinishing) {
            mActivity.finish()
        }
   }
}

可以使用step()函数改变遍历的步长:

for (index in 1..100 step 2){
    print(index)//会输出1,3,5......
}

for (index in 100 downTo 1 step 2){
    print(index)//会输出100,98,96...
}