1.partition
将一个集合拆分成两个集合,满足条件的和不满足条件的分别在两个集合中
package com.example.kotlin01
val list = listOf(4, 1, 2, 3,3)
fun main() {
val (list1,list2) = list.partition { it>2 }
println(list1)
println(list2)
}
[4, 3, 3]
[1, 2]
2.plus
两个集合合并成一个集合
package com.example.kotlin01
val list = listOf(4, 1, 2, 3,3)
val list2 = listOf(4, 1, 2, 3,3)
fun main() {
val result = list.plus(list2)
println(result)
}
[4, 1, 2, 3, 3, 4, 1, 2, 3, 3]
3.zip
对应下标一一对应,组成一个新的集合,新的集合长度由最小的那个决定,集合的类型是Pair
package com.example.kotlin01
val list = listOf(8, 1, 2, 3,3)
val list2 = listOf(4, 1, 2, 3,3,8,9,10)
fun main() {
val result = list.zip(list2)
println(result)
}
[(8, 4), (1, 1), (2, 2), (3, 3), (3, 3)]
4.unzip
Pair类型的集合中,对应Pair对象的属性合并成一个Pair
package com.example.kotlin01
val list = listOf(Pair("小明","男"), Pair("小狗","男"))
val list2 = listOf(Pair("小红","女"), Pair("小猪","女"))
fun main() {
val result = list.unzip()
println(result)
}
([小明, 小狗], [男, 男])
zip和 unzip的区别在于,zip 是有两个list生成一个list,list里面是Pair元素。
而unzip是Pair元素的List转换成Pair,Pair中的属性分别是list。
网友评论