电影网站空间配置,上海市建设协会考试网站,为什么自己做的网站别的电脑打不开,建设上线网站集合的变换操作
filter#xff1a;保留满足条件的元素
map#xff1a;集合中所有元素映射到其他元素构成新集合#xff08;就是转换每个元素#xff0c;然后再组成一个新的结果#xff09;
flatMap#xff1a;集合中所有元素映射到新集合并合并这些集合得到新集合保留满足条件的元素
map集合中所有元素映射到其他元素构成新集合就是转换每个元素然后再组成一个新的结果
flatMap集合中所有元素映射到新集合并合并这些集合得到新集合将一个输入的元素转换成一个集合再将所有集合合并
sequence
list.asSequence().filter {println(filter: $it)it % 2 0}.map {println(map: $it)it * 2 1}.forEach {println(forEach: $it)}
加了asSequence后所有元素会按顺序执行。
Sequence具体细节参照Kotlin之Sequence - 简书 集合的聚合操作 sum所有元素聚合
reduce将所有元素依次按规则聚合结果与元素类型一致
fold给定初始化值将元素按规则聚合结果与初始化值类型一致
val list listOf(1, 2, 3, 4)
val list2 listOf(1, 2, 3, 4)
val list3 listOf(1, 2, 3, 3, 4, 1, 2)
val strList listOf(测试, 2, 3)println(list.reduce strList.reduce { acc, s - acc s })
println(list.fold strList.fold(StringBuffer()) { acc, s -acc.append(s)
})
groupBy将集合内数据按条件分类
println(groupBy list3.groupBy { it })
zip将集合与另一个集合进行合并长度按最短的集合长度算
println(zip list.zip(strList))
println(zip list.zip(list2) { a: Int, b: Int -a * b
})