目录

any

all

count

fold

foldRight

forEach

forEachIndexed

max

maxBy

min

minBy

none

reduce

reduceRight

sumBy


关于集合的操作符,直接引用书上的内容,基本上总结的很好了。

any

如果至少有一个元素符合给出的判断条件,则返回true。

val list = listOf(1, 2, 3, 4, 5, 6)
assertTrue(list.any { it % 2 == 0 })
assertFalse(list.any { it > 10 })

all

如果全部的元素符合给出的判断条件,则返回true。

assertTrue(list.all { it < 10 })
assertFalse(list.all { it % 2 == 0 })

count

返回符合给出判断条件的元素总数。

assertEquals(3, list.count { it % 2 == 0 })

fold

在一个初始值的基础上从第一项到最后一项通过一个函数累计所有的元素。

assertEquals(25, list.fold(4) { total, next -> total + next })

foldRight

fold一样,但是顺序是从最后一项到第一项。

assertEquals(25, list.foldRight(4) { total, next -> total + next })

forEach

遍历所有元素,并执行给定的操作。

list.forEach { println(it) }

forEachIndexed

forEach,但是我们同时可以得到元素的index。

list.forEachIndexed { index, value-> println("position $index contains a $value") }

max

返回最大的一项,如果没有则返回null。

assertEquals(6, list.max())

maxBy

根据给定的函数返回最大的一项,如果没有则返回null。

// The element whose negative is greater
assertEquals(1, list.maxBy { -it })

min

返回最小的一项,如果没有则返回null。

assertEquals(1, list.min())

minBy

根据给定的函数返回最小的一项,如果没有则返回null。

// The element whose negative is smaller
assertEquals(6, list.minBy { -it })

none

如果没有任何元素与给定的函数匹配,则返回true。

// No elements are divisible by 7
assertTrue(list.none { it % 7 == 0 })

reduce

fold一样,但是没有一个初始值。通过一个函数从第一项到最后一项进行累计。

assertEquals(21, list.reduce { total, next -> total + next })

reduceRight

reduce一样,但是顺序是从最后一项到第一项。

assertEquals(21, list.reduceRight { total, next -> total + next })

sumBy

返回所有每一项通过函数转换之后的数据的总和。

assertEquals(3, list.sumBy { it % 2 })

kotlin集合操作符——总数操作符相关推荐

  1. 【Groovy】集合遍历 ( 操作符重载 | 集合中的 “ + “ 操作符重载 | 集合中的 “ - “ 操作符重载 | 代码示例 )

    文章目录 一.集合中的 " + " 操作符重载 二.集合中的 " - " 操作符重载 三.完整代码示例 一.集合中的 " + " 操作符重载 ...

  2. MongDB集合文档操作符

    一.MongoDB - 连接 1.启动 MongoDB 服务 只需要在 MongoDB 安装目录的 bin 目录下执行 mongod 即可 执行启动操作后,mongodb 在输出一些必要信息后不会输出 ...

  3. 6.3 Kotlin集合类型之Map、MutableMap

    Kotlin集合类型之Map.MutableMap Map 声明和创建Map集合 Map常用函数 Kotlin MutableMap 声明和创建MutableMap MutableMap常用函数 Ha ...

  4. 【C语言】算数操作符 移位操作符 以及 sizeof单目操作符讲解

    目录 1.算术操作符 2. 移位操作符 2.1 左移操作符 2.2 右移操作符 3.sizeof 单目操作符介绍 操作符介绍: C语言操作符分为: 算术操作符 移位操作符 位操作符 赋值操作符 单目操 ...

  5. 全面讲解Python列表数组(二),列表分区/片,列表操作符,比较操作符,逻辑操作符,连接操作符,重复操作符,成员关系操作符;

    一 列表分片 简单概括来说就是可以从一个列表中一次性取出来多个元素等操作; 这里有一个列表 member=[1,2,3,4,5] member[1:3] [2,3] 还可以 member[:3] [1 ...

  6. oracle连接操作符,Oracle操作符,函数

    SQL 操作符 Oracle 支持的 SQL 操作符分类如下: 操作符介绍(一) 算术操作符 用于执行数值计算 可以在SQL语句中使用算术表达式,算术表达式由数值数据类型的列名.数值常量和连接它们的算 ...

  7. 操作符 算数操作符

    操作符 算数操作符 + - * / % ++ -- /**任意单元的长度超过int,那么结果就按照最长的长度计算*/public class year {//类对应的块public static vo ...

  8. c++ 操作符大全-算术操作符、关系操作符、逻辑操作符、位操作符、自增自减操作符、赋值操作符、条件操作符、逗号操作符、操作符优先级

    文章目录 操作符 1.算术操作符 2.关系操作符 3.逻辑操作符 4.位操作符 5.自增自减操作符 6.赋值操作符 7.条件操作符 8.逗号操作符 9.操作符优先级 操作符 计算机程序可以看作一串运算 ...

  9. 什么?有人整理了Kotlin 集合函数锦集!!

    自从Kotlin官宣为Android开发首选语言后,大家也都正计划很快转向Kotlin或者已经完全转向Kotlin,接下来我们直奔主题了. 我们在Android应用程序中研发过程中,对于 lists, ...

最新文章

  1. eclipse常用插件介绍
  2. 【linux草鞋应用编程系列】_2_ 环境变量和进程控制
  3. locate 命令详解
  4. python观察日志(part23)--更改图片尺寸并保存
  5. python编程发展_编程的发展史及Python简介
  6. 程序员水平自测题:程序员们,想知道你的技术达到了什么水平吗?
  7. Azure VMSS (1) 入门
  8. AndroidStudio安卓原生开发_利用Activity的Intent 以及Bundle在activity之间传递数据---Android原生开发工作笔记91
  9. Windows系统服务原理
  10. Flash 用FLASH遮罩效果做图片切换效果
  11. 一些dalao的博客
  12. linux新建目录自动777权限,什么是777权限?Linux及Windows下如何设置文件夹的权限为777?...
  13. 好大一个家 陈佩斯
  14. python12306自动抢票为什么进入个人中心_python 12306自动抢票
  15. 用python把图片换成蓝底_Python给照片换底色(蓝底换红底)
  16. 袭扰战术_战术十必不可少的八
  17. Android屏幕适配(网易云音乐方案)
  18. document.documentElement对象
  19. STM32的C语言重点知识(1.C语言数据类型+2.C语言宏定义+3.C语言typedef+4.C语言结构体+5.C语言枚举)
  20. Java8 ConcurrentHashMap的get()方法真的不需要加锁吗?

热门文章

  1. 【基础】哥德巴赫猜想
  2. 【XML DOM】解析XML Dom
  3. 遇到一个sql2000的问题,实在搞不懂了,求解决的办法?
  4. @noi.ac - 488@ cleaner
  5. iview 使用笔记
  6. linux基础-第十五单元 软件包的管理
  7. 《linux内核设计与实现》第一章
  8. 转 安装php时报gd相关的错误(gd_ctx.c)
  9. hadoop 配置文件简析
  10. MHA masterha_check_ssh 报错