kotlin: takeWhile/takeLastWhile函数
一,功能
takeWhile : 从头开始取值,不符合立即停止
takeLastWhile : 从尾开始取值,不符合立即停止
takeWhile{}:返回从第一个开始符合给定函数条件的元素,直到不符合条件为止。
takeLastWhile{}:返回从最后一个开始符合给定函数条件的元素,直到不符合条件为止。
二,例子
代码:
//处理按钮点击事件
binding.button3.setOnClickListener {
val mList = mutableListOf(2, 3, 4, 5, 6, 7, 8, 9, 0)
//takeWhile : 从头开始取值,不符合立即停止
val mNewList3 = mList.takeWhile {
it % 2 == 0
}
println(mNewList3)
//[2]
//takeLastWhile : 从尾开始取值,不符合立即停止
val mNewList4 = mList.takeLastWhile {
it % 2 == 0
}
println(mNewList4)
//[0]
}
运行结果:
三,例子
代码:
//处理按钮点击事件
binding.button4.setOnClickListener {
val chars = ('a'..'z').toList()
println(chars.takeWhile { it < 'f' }) // [a, b, c, d, e]
println(chars.takeLastWhile { it > 'w' }) // [x, y, z]
}
运行结果:
四,例子:
代码:
//处理按钮点击事件
binding.button5.setOnClickListener {
val res = (0..6).map(::factorial)
println(res)
val res2 = res.takeWhile { it % 2 == 1 }
println(res2)
val res3 = res.takeWhile { it < 100 }
println(res3)
}
运行结果: