Kotlin学习--集合操作符之生产操作符
来源:互联网 发布:手机淘宝如何改会员名 编辑:程序博客网 时间:2024/06/06 06:53
生产操作符需要两个原生集合来进行生产,所以先定义两个原生集合:
val list_num : ArrayList = arrayListOf(1,2,3,5,6,7,8,7,6,5,4,3)
val list_num_two : ArrayList = arrayListOf(10,11,12,13,14,15,16)
1. zip 返回一个列表,对由两个具有相同索引的集合的元素。列表的长度最短的集合。
操作符:
Log.e(Str,”zip–> ${list_num.zip(list_num_two)}”)
结果:
zip–> [(1, 10), (2, 11), (3, 12), (5, 13), (6, 14), (7, 15), (8, 16)]
2. zip{} 返回一个由两个集合中相同索引的元素执行特定函数后生成的新集合。新集合的长度为两个原集合中最短的集合长度。
操作符:
Log.e(Str, “zip–> ${list_num.zip(list_num_two) { it, it2 -> it + it2 }}”)
结果:
zip–> [11, 13, 15, 18, 20, 22, 24]
3.one.zip(one+two) 括弧里面第二个集合貌似没啥用- -!
第一组数据:
Log.e(Str, “zip–> ${list_num_two.zip(list_num_two+list_num) }”)
结果:
[(10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16)]
第二组数据:
Log.e(Str, “zip–> ${list_num_two.zip(list_num+list_num_two) }”)
结果:
zip–> [(10, 1), (11, 2), (12, 3), (13, 5), (14, 6), (15, 7), (16, 8)]
第三组数据:
Log.e(Str, “zip–> ${list_num.zip(list_num+list_num_two) }”)
结果:
zip–> [(1, 1), (2, 2), (3, 3), (5, 5), (6, 6), (7, 7), (8, 8), (7, 7), (6, 6), (5, 5), (4, 4), (3, 3)]
第四组数据:
Log.e(Str, “zip–> ${list_num.zip(list_num_two+list_num) }”)
结果:
zip–> [(1, 10), (2, 11), (3, 12), (5, 13), (6, 14), (7, 15), (8, 16), (7, 1), (6, 2), (5, 3), (4, 5), (3, 6)]
4.listOf 返回一对列表,其中第一个列表是由由这个集合中的每一对的第一个值建立的,第二个列表是由这个集合中的每一对的第二个值构建的。
代码:
Log.e(Str,”${listOf(Pair(1,3), Pair(2,3),Pair(5,4)).unzip()}”)
结果:
([1, 2, 5], [3, 3, 4])
代码2:
Log.e(Str,”${listOf(Pair(1,3), Pair(2,3)).unzip()}”)
结果:
([1, 2], [3, 3])
5.partition 把一个给定的集合分割成两个,第一个集合是由原集合每一项元素匹配给定函数条件返回true的元素组成,
第二个集合是由原集合每一项元素匹配给定函数条件返回false的元素组成
代码:
Log.e(Str,”${list_num.partition{it%2==0}}”)
结果:
([2, 6, 8, 6, 4], [1, 3, 5, 7, 7, 5, 3])
6.plus 返回一个包含原集合和给定集合中所有元素的集合,因为函数的名字原因,我们可以使用+操作符。
代码:
Log.e(Str,”${list_num.plus(list_num_two)}”)
结果:
[1, 2, 3, 5, 6, 7, 8, 7, 6, 5, 4, 3, 10, 11, 12, 13, 14, 15, 16]
- Kotlin学习--集合操作符之生产操作符
- kotlin集合操作符——生产操作符
- Kotlin学习--集合操作符之总数操作符
- Kotlin学习--集合操作符之映射操作符
- Kotlin学习--集合操作符之元素操作符
- Kotlin学习--集合操作符之顺序操作符
- kotlin学习day6:集合和操作符
- Kotlin初探:Kotlin的集合操作符
- kotlin学习笔记——集合及集合操作符
- Kotlin之Elvis 操作符
- Kotlin之常用操作符
- kotlin集合操作符——总数操作符
- kotlin集合操作符——过滤操作符
- kotlin集合操作符——映射操作符
- kotlin集合操作符——元素操作符
- kotlin集合操作符——顺序操作符
- kotlin学习笔记——操作符
- Kotlin学习(6)操作符重载
- 关于Unity3D的一些笔试题(3)
- hdoj 1595 最短路中的最长路(good)
- Visual Studio Code的插件配置
- java设计模式之模板方法模式
- subprocess.check_output 和subprocess.Popen区别
- Kotlin学习--集合操作符之生产操作符
- 8 位数码难题的问题求解
- Javascript学习笔记(字符串)
- 求绝对值
- 创建IQueue队列公共接口
- response对象和request对象
- 轮播图
- Maven
- win下重新安装Python所出现的问题:api-ms-win-crt-runtime-l1-1-0.dll缺失