kotlin集合过滤操作符
过滤操作符:
- drop():从第一项开始去除前n个元素,并返回剩余的元素列表。
- dropWhile{}:根据给定函数从第一项开始去掉指定元素,直到不满足条件为止的前面的元素,并返回剩余元素列表。
- dropLastWhile{}:根据给定函数从最后一项开始去掉指定元素,直到不满足条件为止的后面的元素,并返回剩余元素的列表。
- filter{}:过滤出所有符合给定函数条件的元素。
- filterNot{}:过滤所有不符合给定函数条件的元素。
- filterNotNull():过滤所有元素中不是null的元素。
- slice():过滤一个list中指定index的元素。
- take():返回从第一个开始的n个元素。
- takeLast():返回从最后一个开始的n个元素。
- takeWhile{}:返回从第一个开始符合给定函数条件的元素,直到不符合条件为止。
- takeLastWhile{}:返回从最后一个开始符合给定函数条件的元素,直到不符合条件为止。
代码实例
private fun listOperator2() {val list2 = listOf(4, 5, 6, 7, 3, 8, 9)//不可变列表val mutableList = mutableListOf(1, 2, 3, 4, 5, 6)//可变列表,拥有add、remove、replace、clear等一系列操作函数list2.drop(3).forEach {print(it)//输出7389}println()list2.dropWhile { it < 6 }.forEach {print(it)//输出67389}println()list2.dropLastWhile { it > 6 }.forEach {print(it)//输出45673}println()list2.filter { it % 2 == 0 }.forEach {print(it)//输出468}println()list2.filterNot { it % 2 == 0 }.forEach {print(it)//输出5739}println()val listT = listOf("1", "2", null, "3")listT.forEach { print(it) }println()//输出12null3listT.filterNotNull().forEach {print(it)//输出123}println()list2.slice(listOf(1, 3, 5)).forEach {print(it)//输出578}println()list2.take(4).forEach {print(it)//输出4567}println()list2.takeLast(4).forEach {print(it)//输出}println()list2.takeWhile { it < 6 }.forEach {print(it)//输出45}println()list2.takeLastWhile { it > 6 }.forEach {print(it)//输出89}
}
kotlin集合过滤操作符相关推荐
- kotlin集合操作符——过滤操作符
目录 drop dropWhile dropLastWhile filter filterNot filterNotNull slice take takeLast takeWhile 关于集合的操作 ...
- kotlin集合操作符——顺序操作符
目录 reverse sort sortBy sortDescending sortDescendingBy 关于集合的操作符,直接引用书上的内容,基本上总结的很好了. reverse 返回一个与指定 ...
- kotlin集合操作符——生产操作符
目录 merge partition plus zip unzip 关于集合的操作符,直接引用书上的内容,基本上总结的很好了. merge 把两个集合合并成一个新的,相同index的元素通过给定的函数 ...
- kotlin集合操作符——元素操作符
目录 contains elementAt elementAtOrElse elementAtOrNull first firstOrNull indexOf indexOfFirst indexOf ...
- kotlin集合操作符——映射操作符
目录 flatMap groupBy map mapIndexed mapNotNull 关于集合的操作符,直接引用书上的内容,基本上总结的很好了. 集合示例: val list = listOf(1 ...
- kotlin集合操作符——总数操作符
目录 any all count fold foldRight forEach forEachIndexed max maxBy min minBy none reduce reduceRight s ...
- RxJava从入门到不离不弃(四)——过滤操作符
RxJava中的过滤操作符,顾名思义,这类操作符主要用于对事件数据的筛选过滤,只返回满足我们条件的数据. 我们试想一下这样的一个需求,有一个学生集合,要求将其中成绩不及格的学生过滤,返回成绩合格的学生 ...
- 什么?有人整理了Kotlin 集合函数锦集!!
自从Kotlin官宣为Android开发首选语言后,大家也都正计划很快转向Kotlin或者已经完全转向Kotlin,接下来我们直奔主题了. 我们在Android应用程序中研发过程中,对于 lists, ...
- Kotlin 集合函数锦集
自从Kotlin官宣为Android开发首选语言后,大家也都正计划很快转向Kotlin或者已经完全转向Kotlin,接下来我们直奔主题了. 我们在Android应用程序中研发过程中,对于 lists, ...
最新文章
- python参考文献目录_[zotero/python]库中参考文献条目删除后,清除残留PDF的脚本
- MySQL—05—MySQL如何处理SQL语句;MySQL数据库存储引擎介绍;
- python基础知识面试题-[面试] 1. 关于Python的基础知识
- centos安装jdk7
- P1506 拯救oibh总部(染色+dfs)
- 个人博客前端模板_腾讯前端开发工程师,教你极速搭建一个个人博客网站
- Java多线程学习笔记-线程的使用
- python访问注册表_Python 操作注册表
- linux 内存管理_真香!Linux 原来是这么管理内存的
- 推荐Potplayer ----抛弃暴风影音
- linux经典学习网站及博客
- 网络抖动、丢音、卡顿
- 上岸重庆邮电大学软件工程学院学硕总结
- 7-5 单词首字母大写 (15分)
- android 加固服务器,服务器加固工具
- python解一元二次方程虚根_怎么用python解一元二次方程
- html标签中h4和h5,h5与h4的区别
- 56 核心112 线程,最高阶的英特尔Xeon Platinum 9282 就是怪兽
- 河北欧格教育:主图构图法
- 矩阵加法 矩阵乘法 Python123题解 不使用numpy