kotlin中集合操作符

集合操作符

1.总数操作符

any —— 判断集合中 是否有满足条件 的元素;
all —— 判断集合中的元素 是否都满足条件;
none —— 判断集合中是否 都不满足条件,是则返回true;
count —— 查询集合中 满足条件 的 元素个数;
reduce —— 从 第一项到最后一项进行累计 ;
reduceRight —— 从 最后一下到第一项进行累计;
fold —— 与reduce类似,不过有初始值,而不是从0开始累计;
foldRight —— 和reduceRight类似,有初始值,不是从0开始累计;
forEach —— 循环遍历元素,元素是it,可对每个元素进行相关操作;
forEachIndexed —— 循环遍历元素,同时得到元素index(下标);
max —— 查询最大的元素,如果没有则返回null;
maxBy —— 获取方法处理后返回结果最大值对应的那个元素的初始值,如果没有则返回null;
min —— 查询最小的元素,如果没有则返回null;
minBy —— 获取方法处理后返回结果最小值对应那个元素的初始值,如果没有则返回null;
sumBy —— 获取 方法处理后返回结果值 的 总和;
dropWhile —— 返回从第一项起,去掉满足条件的元素,直到不满足条件的一项为止

结果

2.过滤操作符

通过 某个条件 来对集合中的元素进行过滤,返回一个处理后的列表结果,但不会改变原列表
filter —— 过滤 掉所有 满足条件 的元素
filterNot —— 过滤所有不满足条件的元素
filterNotNull —— 过滤NULL
take —— 返回从第一个开始的n个元素
takeLast —— 返回从最后一个开始的n个元素
takeWhile —— 返回不满足条件的下标前面的所有元素的集合
drop —— 返回 去掉前N个元素后 的列表
dropLastWhile —— 返回从最后一项起,去掉满足条件的元素,直到不满足条件的一项为止
slice —— 过滤掉 非指定下标 的元素,即保留下标对应的元素过滤list中指定下标的元素(比如这里只保留下标为1,3,4的元素)

映射操作符

map —— 将集合中的元素通过某个 方法转换 后的结果存到一个集合中;
mapIndexed —— 除了得到 转换后的结果 ,还可以拿到Index(下标);
mapNotNull —— 执行方法 转换前过滤掉 为 NULL 的元素
flatMap —— 合并两个集合,可以在合并的时候做些小动作;
groupBy —— 将集合中的元素按照某个条件分组,返回Map;

顺序操作符

reversed —— 相反顺序
sorted —— 自然排序(升序)
sortedBy —— 根据方法处理结果进行自然(升序)排序
sortedDescending —— 降序排序
sortedByDescending —— 根据方法处理结果进行降序排序

多条件排序  

如果条件1 相同则比较条件2
list.sortedWith(compareByDescending<T> { 
    条件1
}.thenByDescending {
    条件2
})

生产操作符

这节的操作符涉及到一个 Pair 的类,该类是Kotlin提供的用来处理双元对数据的,
可以理解成Map中的一个键值对,比如Pair(“key”,”value”) 等价于 “key” to “value”

zip —— 两个集合按照下标组合成一个个的Pair塞到集合中返回
partition —— 根据判断条件是否成立,拆分成两个 Pair
plus —— 合并两个List,可以用”+”替代
unzip —— 将包含多个Pair的List 转换成 含List的Pair

元素操作符

contains —— 判断集合中是否有指定元素,有返回true
elementAt —— 查找下标对应的元素,如果下标越界会抛IndexOutOfBoundsException
elementAtOrElse —— 查找下标对应元素,如果越界会根据方法返回默认值(最大下标经方法后的值) elementAtOrNull —— 查找下标对应元素,越界会返回Null
first —— 返回符合条件的第一个元素,没有 抛NoSuchElementException
firstOrNull —— 返回符合条件的第一个元素,没有 返回null
indexOf —— 返回指定下标的元素,没有 返回-1
indexOfFirst —— 返回第一个符合条件的元素下标,没有 返回-1
indexOfLast —— 返回最后一个符合条件的元素下标,没有 返回-1
last —— 返回符合条件的最后一个元素,没有 抛NoSuchElementException
lastIndexOf —— 返回符合条件的最后一个元素,没有 返回-1
lastOrNull —— 返回符合条件的最后一个元素,没有 返回null
single —— 返回符合条件的单个元素,如有没有符合或超过一个,抛异常
singleOrNull —— 返回符合条件的单个元素,如有没有符合或超过一个,返回null

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/113525.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

机器学习-基本知识

 任务类型 ◼ 有监督学习(Supervised Learning) 每个训练样本x有人为标注的目标t&#xff0c;学习的目标是发现x到t的映射&#xff0c;如分类、回归。 ◼ 无监督学习(Unsupervised Learning) 学习样本没有人为标注&#xff0c;学习的目的是发现数据x本身的分布规律&#xf…

Hadoop PseudoDistributed Mode 伪分布式

Hadoop PseudoDistributed Mode 伪分布式加粗样式 hadoop101hadoop102hadoop103192.168.171.101192.168.171.102192.168.171.103namenodesecondary namenoderecource managerdatanodedatanodedatanodenodemanagernodemanagernodemanagerjob historyjob logjob logjob log 1. …

论文 辅助笔记:t2vec train.py

1 train 1.1 加载training和validation数据 def train(args):logging.basicConfig(filenameos.path.join(args.data, "training.log"), levellogging.INFO)设置了日志的基本配置。将日志信息保存到名为 "training.log" 的文件中日志的级别被设置为 INFO&…

Run, Don‘t Walk: Chasing Higher FLOPS for Faster Neural Networks(CVPR2023)

文章目录 AbstractIntroduction过去工作存在的不足我们的工作主要贡献&#xff08;待参考&#xff09; Related workCNNViT, MLP, and variants Design of PConv and FasterNetPreliminaryPartial convolution as a basic operatorPConv followed by PWConvFasterNet as a gene…

整理笔记——0欧电阻、电感、磁珠

设计电路时&#xff0c;经常用到0欧电阻、电感、磁珠&#xff0c;这三个基础电子原件万用表量都是“短路”&#xff0c;这三者之间有什么区别&#xff1f;什么情况下用什么原件&#xff1f; 一、0欧电阻 0欧电阻&#xff0c;并不是指元件的电阻值为0&#xff0c;而是电阻值很小…

主机ping、ssh连接不通本地虚拟机

一、问题描述 在使用vscode remote ssh时&#xff0c;连接timeout&#xff0c;而且主机无论如何也ping不通虚拟机&#xff0c;但是虚拟机可以ping通主机。通过vagrant也可以连接虚拟机。 二、解决方案 试了网上包括设置remote ssh在内的许多方法都不行。重新查看主机和虚拟机…

IMX6ULL——GPIO

本章目的&#xff1a;使用GPIO点亮一个LED灯 1.LED原理 &#xff08;1&#xff09;LED类型&#xff1a;插脚LED&#xff1b;贴片LED。 &#xff08;2&#xff09;LED点亮电路 法一&#xff1a; 法二&#xff1a; 我们本章使用法二&#xff0c;使用IMX6ULL的GPIO引脚输出高低电…

8+双疾病+WGCNA+多机器学习筛选疾病的共同靶点并验证表达

今天给同学们分享一篇双疾病WGCNA多机器学习的生信文章“Shared diagnostic genes and potential mechanism between PCOS and recurrent implantation failure revealed by integrated transcriptomic analysis and machine learning”&#xff0c;这篇文章于2023年5月16日发表…

Python 正则表达式(RegEx)指南

正则表达式&#xff08;RegEx&#xff09;是一系列字符&#xff0c;形成了一个搜索模式。RegEx 可用于检查字符串是否包含指定的搜索模式。 RegEx 模块 Python 中有一个内置的包叫做 re&#xff0c;它可以用于处理正则表达式。导入 re 模块&#xff1a; import rePython 中的…

C语言 Number 1 基本数据类型

数据类型的定义 c语言的数据分类基本类型整型浮点型float和double的精度和范围范围精度 枚举类型空类型派生类型派生的一般表达形式 注 c语言的数据分类 首先是针对C语言的数据类型做个整理 大致分为四个大类型 基本类型枚举类型空类型派生类型 那么根据以上四个大类型 我们…

三门问题 最通俗解释+拓展

三门问题是概率论比较经典的一个问题&#xff0c;答案有点反直觉&#xff0c;所以值得学习&#xff0c;理性第一&#xff01;但是&#xff0c;很多网上解释都让人云里雾里&#xff0c;或者干脆解释就是错了&#xff0c;或一上来就贝叶斯公式开始搞数学&#xff0c;其实很简单可…

OpenFeign的简单介绍和功能实操

前言 本文主要做一下OpenFeign的简单介绍和功能实操&#xff0c;实操主要是OpenFeign的超时和重试&#xff0c;在阅读本文章前&#xff0c;请完成《Nacos 注册中心介绍与实操》内的Nacos多模块生产消费者项目 什么是OpenFeign OpenFeign全名Spring Cloud OpenFeign&#xff…

企业服务总线ESB有什么作用?和微服务有什么区别?会如何发展?

企业服务总线ESB是什么 下面这张图&#xff0c;稍微了解些IT集成的朋友应该不陌生。 随着信息化发展不断深入&#xff0c;企业在不同的阶段引入了不同的应用、系统和软件。这些原始的应用系统互不连通&#xff0c;如同一根根独立的烟囱。 但是企业业务是流程化的&#xff0c;…

AI:46-基于深度学习的垃圾邮件识别

🚀 本文选自专栏:AI领域专栏 从基础到实践,深入了解算法、案例和最新趋势。无论你是初学者还是经验丰富的数据科学家,通过案例和项目实践,掌握核心概念和实用技能。每篇案例都包含代码实例,详细讲解供大家学习。 📌📌📌本专栏包含以下学习方向: 机器学习、深度学…

蓝桥白皮书16.0版——1、STEMA 考试综述

目 录 ​​​​​​​STEMA 考试综述 STEMA 考试组别 STEMA 试题数量与计分点 STEMA 考试时长 STEMA 考试成绩计算与发布 STEMA 考试成绩计算 STEMA 考试分数区间 STEMA 考试成绩百分比 STEMA 考试命题原则 STEMA 考试范围 科技素养组考试范围 推荐初级考生阅读 &#xff1…

✔ ★【备战实习(面经+项目+算法)】 11.2学习

✔ ★【备战实习&#xff08;面经项目算法&#xff09;】 坚持完成每天必做如何找到好工作1. 科学的学习方法&#xff08;专注&#xff01;效率&#xff01;记忆&#xff01;心流&#xff01;&#xff09;2. 每天认真完成必做项&#xff0c;踏实学习技术 认真完成每天必做&…

【实验五】题解

T1&#xff1a;缺失的数字 题目描述; 我是敦立坤的爹&#xff01;&#xff01;&#xff01; 一个整数集合中含有n个数字&#xff0c;每个数字都在0n之间。假设0n的n1个数字中有且仅有一个数字不在该集合中&#xff0c;请找出这个数字。 分析&#xff1a; 这里引用一个桶的思…

做测试,写了一周的测试用例,感觉自己像个文员?

“需求不明确&#xff0c;测试用例改来改去&#xff0c;像个文员” 深有感触&#xff0c;瞬间回想起自己在测试行业混迹10年摸爬滚打的曲折路程。为了彻底解决“需求不明确&#xff0c;测试人员应该怎么做”这个问题&#xff0c;我从下面两个方面分享我个人的解决经验&#xff…

68 内网安全-域横向PTHPTKPTT哈希票据传递

目录 演示案例:域横向移动PTH传递-Mimikatz域横向移动PTK传递-Mimikatz域横向移动PTT传递-MS14068&kekeo&local国产Ladon内网杀器测试验收-信息收集,连接等 涉及资源: PTH(pass the hash) #利用lm或ntlm的值进行的渗透测试 PTT(pass the ticket) #利用的票据凭证TGT进行…

NLP 快速入门

文章目录 前言NLP 历史回顾NLP任务语料的标注AI语料标注师岗位职责 TransformersHugging Face模型中文文本分类使用 NLTK 进行文本分类 参考链接开源NLP 前言 学习NLP&#xff0c;解决两个问题&#xff1a; 如何使用别人训练好的模型&#xff1f;如何基于别人的模型&#xff…