kotlin: dropWhile/dropLastWhile函数
一,功能
dropWhile操作符: 从集合的第一项开始去掉满足条件元素,这样操作一直持续到出现第一个不满足条件元素出现为止,
返回剩余元素(可能剩余元素有满足条件的元素)
dropLastWhile操作符: 从集合的最后一项开始去掉满足条件元素,这样操作一直持续到出现第一个不满足条件元素出现为止,
返回剩余元素(可能剩余元素有满足条件的元素)
二,例子:
代码:
//处理按钮点击事件
binding.button1.setOnClickListener {
//sampleStart
val string = "<<<First Grade>>>"
val res1 = string.dropWhile { !it.isLetter() }
println("从头开始删除非字符后: $res1") // First Grade>>>
val res2 = string.dropLastWhile { !it.isLetter() }
println("从尾开始删除非字符后: $res2") // <<<First Grade
}
运行结果:
![]()
三,例子:
代码:
//处理按钮点击事件
binding.button2.setOnClickListener {
val strList = listOf("java", "javaScript", "kotlin", "C", "C++", "javaFx","python", "Swift", "Go", "Scala")
println("从头开始删除java打头的字串后:")
strList.dropWhile { it.startsWith("java") }.forEach { println("$it ") }
println("从尾开始删除S打头的字串后:")
strList.dropLastWhile { it.startsWith("S") }.forEach { println("$it ") }
}
运行结果:

四,例子:
代码:
//处理按钮点击事件
binding.button3.setOnClickListener {
//从头开始找不满足的开始取值,满足的抛弃
val mList = mutableListOf(1, 2, 3, 4, 5, 6, 7, 8, 9, 0)
println("原列表:$mList")
val resultList = mList.dropWhile { it <= 1 }
println("从头删除<=1的值后:$resultList")
val resultList2 = mList.dropLastWhile { it <= 1 }
println("从尾删除<=1的值后:$resultList2")
}
运行结果:

浙公网安备 33010602011771号