当前位置: 首页 > news >正文

Kotlin中 take、drop方法使用

1、take方法

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

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

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

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

 

5、dropLast

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

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{}:返回从最后一个开始符合给定函数条件的元素,直到不符合条件为止。

 

 

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 生命在于学习——Python人工智能原理(1.2)
  • go map
  • 【小技巧】KEIL C51 报错`Warning L6: XDATA Space Memory Overlap`
  • [前端] axios 请求成功了,为什么通过浏览器看不到返回数据
  • 极致优化之道-JVM字节码调优全揭秘
  • 2024电工杯数学建模B题完整论文讲解(含每一问python代码+数据)
  • 2、OpenVPN搭建
  • 学 Python 具体能干什么?
  • ZeroTier+Nomachine远程
  • 【Python】 使用SMOTE解决数据不平衡问题
  • 【加密与解密(第四版)】第十八章笔记
  • 【计算机网络】第三章——停止-等待协议
  • VGG论文解析—Very Deep Convolutional Networks for Large-Scale Image Recognition
  • clickhouse 中的数组(array)和元组(Tuple)—— clickhouse 基础篇(二)
  • STM32_ADC
  • 【技术性】Search知识
  • Dubbo 整合 Pinpoint 做分布式服务请求跟踪
  • export和import的用法总结
  • Linux编程学习笔记 | Linux多线程学习[2] - 线程的同步
  • RxJS: 简单入门
  • 翻译:Hystrix - How To Use
  • 理解在java “”i=i++;”所发生的事情
  • 使用Envoy 作Sidecar Proxy的微服务模式-4.Prometheus的指标收集
  • 体验javascript之美-第五课 匿名函数自执行和闭包是一回事儿吗?
  • 中文输入法与React文本输入框的问题与解决方案
  • HanLP分词命名实体提取详解
  • PostgreSQL之连接数修改
  • # SpringBoot 如何让指定的Bean先加载
  • #Datawhale AI夏令营第4期#多模态大模型复盘
  • #define
  • #nginx配置案例
  • #QT(串口助手-界面)
  • #我与Java虚拟机的故事#连载17:我的Java技术水平有了一个本质的提升
  • (173)FPGA约束:单周期时序分析或默认时序分析
  • (32位汇编 五)mov/add/sub/and/or/xor/not
  • (55)MOS管专题--->(10)MOS管的封装
  • (echarts)echarts使用时重新加载数据之前的数据存留在图上的问题
  • (el-Transfer)操作(不使用 ts):Element-plus 中 Select 组件动态设置 options 值需求的解决过程
  • (ISPRS,2021)具有遥感知识图谱的鲁棒深度对齐网络用于零样本和广义零样本遥感图像场景分类
  • (Redis使用系列) SpirngBoot中关于Redis的值的各种方式的存储与取出 三
  • (Redis使用系列) Springboot 整合Redisson 实现分布式锁 七
  • (不用互三)AI绘画工具应该如何选择
  • (附源码)springboot青少年公共卫生教育平台 毕业设计 643214
  • (附源码)ssm高校运动会管理系统 毕业设计 020419
  • (附源码)计算机毕业设计SSM基于java的云顶博客系统
  • (免费领源码)python+django+mysql线上兼职平台系统83320-计算机毕业设计项目选题推荐
  • (亲测成功)在centos7.5上安装kvm,通过VNC远程连接并创建多台ubuntu虚拟机(ubuntu server版本)...
  • (转载)hibernate缓存
  • .net core 连接数据库,通过数据库生成Modell
  • .NET Core 网络数据采集 -- 使用AngleSharp做html解析
  • .net mvc 获取url中controller和action
  • .ui文件相关
  • @TableId注解详细介绍 mybaits 实体类主键注解
  • [ 英语 ] 马斯克抱水槽“入主”推特总部中那句 Let that sink in 到底是什么梗?
  • [100天算法】-每个元音包含偶数次的最长子字符串(day 53)