本文将介绍 Kotlin 中 序列(Sequence)的概念及使用,并介绍该惰性集合操作对集合链式调用性能优化背后的原理。
阅读本文大概需要 5 分钟,写作本文大概消耗 7 个小时
目录
序列(Sequence)
概念
在使用 Kotlin 集合操作符进行链式调用时,例如 map
和 filter
时,都会在函数内部创建中间集合,比如下面的例子,使用 map 和 filter 在 User 集合中筛选出性别为男的成员,返回结果是一个集合。
users.map(User :: sex)
.filter {it.sex.equals("male")}
序列的用法
序列的用法很简单,只需要再集合后添加asSeqence()
函数即可
users.asSequence()
.map(User :: sex)
.filter {it.sex.equals("male")}
这里插播一个概念,其中 User :: user
是成员引用,具体介绍如下