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。

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