Kotlin中 take、drop方法使用

1、take方法

Kotlin 复制代码
private fun take() {
    val list1 = mutableListOf(1, 2, 3, 4, 5, 6, 7, 8, 9, 0)
    //take函数是根据传入的参数挑出该集合【前n个元素】的子集合
    val list2= list1 .take(2)
    println(list2)
    //[1, 2]
 
    //takeLast函数是根据传入的参数挑出该集合【倒数n个元素】的子集合
    val list3= list1 .takeLast(2)
    println(list3)
    //[9, 0]
}

2、takeWhile

Kotlin 复制代码
private fun takeWhile() {
    val list= mutableListOf(1, 2, 3, 4, 5, 6, 7, 8, 9, 0)
 
    //takeWhile : 从头开始取值,不符合立即停止
    val list1= list.takeWhile {
        it % 2 == 0
    }
    println(list1)
    //[]
 
 
    //takeLastWhile : 从尾开始取值,不符合立即停止
    val list2= list.takeLastWhile {
        it % 2 == 0
    }
    println(list2)
    //[0]
}

3、dropWhile

Kotlin 复制代码
private fun dropWhile() {
    //从头开始找不满足的开始取值,满足的抛弃头部
    val mList = mutableListOf(1, 2, 3, 4, 5, 6, 7, 8, 9, 0)
    val resultList = mList.dropWhile { it <= 1 }
    println(resultList)
}
//[2, 3, 4, 5, 6, 7, 8, 9, 0]

4、dropLastWhile

Kotlin 复制代码
val numbers = listOf("one", "two", "three", "four", "five", "six")
 
println(numbers.dropLastWhile{it.contains('i')}.toString()) 
// 打印结果[one, two, three, four]

5、dropLast

Kotlin 复制代码
private fun dropLast() {
    //去掉最后n个开始取值
    val mList = mutableListOf(1, 2, 3, 4, 5, 6, 7, 8, 9, 0)
    val resultList = mList.dropLast(3)
    println(resultList)
}
//[1, 2, 3, 4, 5, 6, 7]

6、drop

Kotlin 复制代码
private fun drop() {
    //去掉前n个开始取值
    val mList = mutableListOf(1, 2, 3, 4, 5, 6, 7, 8, 9, 0)
    val resultList = mList.drop(3)
    println(resultList)
}
//[4, 5, 6, 7, 8, 9, 0]

drop():从第一项开始去除前n个元素,并返回剩余的元素列表。

dropWhile{}:根据给定函数从第一项开始去掉指定元素,直到不满足条件为止的前面的元素,并返回剩余元素列表。

dropLastWhile{}:根据给定函数从最后一项开始去掉指定元素,直到不满足条件为止的后面的元素,并返回剩余元素的列表。

filter{}:过滤出所有符合给定函数条件的元素。

filterNot{}:过滤所有不符合给定函数条件的元素。filterNotNull():过滤所有元素中不是null的元素。slice():过滤一个list中指定index的元素。

take():返回从第一个开始的n个元素。takeLast():返回从最后一个开始的n个元素。takeWhile{}:返回从第一个开始符合给定函数条件的元素,直到不符合条件为止。

takeLastWhile{}:返回从最后一个开始符合给定函数条件的元素,直到不符合条件为止。

相关推荐
齊家治國平天下6 分钟前
Android 14 系统中 Tombstone 深度分析与解决指南
android·crash·系统服务·tombstone·android 14
Dxy12393102167 分钟前
Python字符串处理全攻略
开发语言·python
毕设源码-朱学姐28 分钟前
【开题答辩全过程】以 基于Java的失物招领系统设计与实现为例,包含答辩的问题和答案
java·开发语言
Gomiko31 分钟前
JavaScript进阶(四):DOM监听
开发语言·javascript·ecmascript
清晓粼溪33 分钟前
统一异常处理
java·开发语言
syt_10131 小时前
grid布局之-子项放置4
开发语言·javascript·ecmascript
喵了meme1 小时前
C语言实战2
c语言·开发语言·网络
charlie1145141911 小时前
现代C++工程实践:简单的IniParser3——改进我们的split
开发语言·c++·笔记·学习
fish_xk1 小时前
c++的引用和类的初见
开发语言·c++
yong99901 小时前
水箱水位控制系统MATLAB实现
开发语言·matlab