Kotlin学习笔记(十四)函数操作符(生产操作符)

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。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章