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]
相关推荐
sniper_fandc1 小时前
SpringBoot系列—入门
java·spring boot·后端
代码的余温2 小时前
Maven引入第三方JAR包实战指南
java·maven·jar
pianmian15 小时前
类(JavaBean类)和对象
java
我叫小白菜6 小时前
【Java_EE】单例模式、阻塞队列、线程池、定时器
java·开发语言
Albert Edison6 小时前
【最新版】IntelliJ IDEA 2025 创建 SpringBoot 项目
java·spring boot·intellij-idea
超级小忍7 小时前
JVM 中的垃圾回收算法及垃圾回收器详解
java·jvm
weixin_446122467 小时前
JAVA内存区域划分
java·开发语言·redis
小小小小宇7 小时前
虚拟列表兼容老DOM操作
前端
悦悦子a啊7 小时前
Python之--基本知识
开发语言·前端·python
勤奋的小王同学~7 小时前
(javaEE初阶)计算机是如何组成的:CPU基本工作流程 CPU介绍 CPU执行指令的流程 寄存器 程序 进程 进程控制块 线程 线程的执行
java·java-ee