kotlin take 和 drop

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]
相关推荐
胡斌附体1 分钟前
idea挂掉,会导致进程不结束,切换profile环境,导致token认证不通过
java·ide·intellij-idea·调试·token失效
inksci1 分钟前
Vue 3 打开 el-dialog 时使 el-input 获取焦点
前端·javascript·vue.js
若愚679232 分钟前
前端取经路——量子UI:响应式交互新范式
前端·ui·交互
_龙小鱼_35 分钟前
卡顿检测与 Choreographer 原理
android·kotlin
y1021210437 分钟前
Pyhton训练营打卡Day27
java·开发语言·数据结构
AA-代码批发V哥1 小时前
Java类一文分解:JavaBean,工具类,测试类的深度剖析
java·开发语言
PHASELESS4111 小时前
HTML常用标签用法全解析:构建语义化网页的核心指南
前端·html
等等5431 小时前
Java EE初阶——线程安全
java·java-ee
薯条不要番茄酱1 小时前
【SpringBoot】从零开始全面解析SpringMVC (二)
java·spring boot·后端
粉末的沉淀1 小时前
css:倒影倾斜效果
前端·css