kotlin take 和 drop
2024-01-07 19:30:44
kotlin take的作用
从头开始获取指定数量的元素
val numbers = listOf("one", "two", "three", "four", "five", "six")
// 取集合的4个集合
Log.d("======take", numbers.take(3).toString()) // 打印结果[one, two, three]
takeLast的作用
从尾开始获取指定数量的元素
val numbers = listOf("one", "two", "three", "four", "five", "six")
// 取集合的倒数4个集合
Log.d("======takeLast", numbers.takeLast(3).toString()) // 打印结果[four, five, six]
takeWhile的作用
它将不停获取元素直到排除与谓词匹配的首个元素。如果首个集合元素与谓词匹配,则结果为空。
val numbers = listOf("one", "two", "three", "four", "five", "six")
// takeWhile不停获取元素直到排除与谓词匹配的首个元素
Log.d(
"======takeWhile",
numbers.takeWhile { !it.startsWith("f") }.toString()
) // 打印结果[one, two, three]
takeLastWhile的作用
与 takeLast() 类似:它从集合末尾获取与谓词匹配的元素区间。区间的首个元素是与谓词不匹配的最后一个元素右边的元素。如果最后一个集合元素与谓词匹配,则结果为空。
val numbers = listOf("one", "two", "three", "four", "five", "six")
Log.d(
"======takeLastWhile",
numbers.takeLastWhile { it != "three" }.toString()
) // 打印结果[four, five, six]
kotlin dropLast 的作用
从头去除给定数量的元素
val numbers = listOf("one", "two", "three", "four", "five", "six")
//从头去掉第一个元素
Log.d("======drop", numbers.drop(1).toString()) // 打印结果[two, three, four, five, six]
drop 的作用
从尾去除给定数量的元素
val numbers = listOf("one", "two", "three", "four", "five", "six")
// 从尾去掉第一个元素
Log.d("======dropLast", numbers.dropLast(1).toString()) // 打印结果[one, two, three, four, five]
dropWhile()的作用
与具有相同谓词的 takeWhile() 相反:它将首个与谓词不匹配的元素返回到末尾。
val numbers = listOf("one", "two", "three", "four", "five", "six")
// 从尾去掉第一个元素
Log.d("======dropWhile", numbers.dropWhile{it.length == 3}.toString()) // 打印结果[three, four, five, six]
dropLastWhile()的作用
与具有相同谓词的 takeLastWhile() 相反:它返回从开头到最后一个与谓词不匹配的元素。
val numbers = listOf("one", "two", "three", "four", "five", "six")
Log.d("======dropLastWhile", numbers.dropLastWhile{it.contains('i')}.toString()) // 打印结果[one, two, three, four]
文章来源:https://blog.csdn.net/qq_33210042/article/details/135441362
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!