生產操作符需要兩個原生集合來進行生產,所以先定義兩個原生集合:
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–> $」)
結果:
zip–> [(1, 10), (2, 11), (3, 12), (5, 13), (6, 14), (7, 15), (8, 16)]
2. zip{} 返回乙個由兩個集合中相同索引的元素執行特定函式後生成的新集合。新集合的長度為兩個原集合中最短的集合長度。
操作符:
log.e(str, 「zip–> $}」)
結果:
zip–> [11, 13, 15, 18, 20, 22, 24]
3.one.zip(one+two) 括弧裡面第二個集合貌似沒啥用- -!
第一組資料:
log.e(str, 「zip–> $」)
結果:
[(10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16)]
第二組資料:
log.e(str, 「zip–> $」)
結果:
zip–> [(10, 1), (11, 2), (12, 3), (13, 5), (14, 6), (15, 7), (16, 8)]
第三組資料:
log.e(str, 「zip–> $」)
結果:
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–> $」)
結果:
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,」$」)
結果:
([1, 2, 5], [3, 3, 4])
**2:
log.e(str,」$」)
結果:
([1, 2], [3, 3])
5.partition 把乙個給定的集合分割成兩個,第乙個集合是由原集合每一項元素匹配給定函式條件返回true的元素組成,
第二個集合是由原集合每一項元素匹配給定函式條件返回false的元素組成
**:log.e(str,」$}」)
結果:
([2, 6, 8, 6, 4], [1, 3, 5, 7, 7, 5, 3])
6.plus 返回乙個包含原集合和給定集合中所有元素的集合,因為函式的名字原因,我們可以使用+操作符。
**:log.e(str,」$」)
結果:
[1, 2, 3, 5, 6, 7, 8, 7, 6, 5, 4, 3, 10, 11, 12, 13, 14, 15, 16]
Kotlin學習 集合操作符之總數操作符
原集合 val list num arraylist arraylistof 1,2,3,5,6,7,8 1.any 只要有乙個符合就返回true 操作符 val any list num.any 結果 any true 2.all 集合中所有元素都滿足函式才返回true 操作符 val all l...
Kotlin常用操作符
如果 左邊表示式非空,elvis操作符就會返回左邊的結果,否則返回右邊的結果。請注意,僅在左側為空的時候,右側的表示式才會計算 val a b?length?1 等同於 val a int if b null b.length else 1當使用 as 轉型的時候,可能會經常出現 classcast...
Kotlin常用操作符
如果 左邊表示式非空,elvis操作符就會返回左邊的結果,否則返回右邊的結果。請注意,僅在左側為空的時候,右側的表示式才會計算 val a b?length?1 等同於 val a int if b null b.length else 1當使用 as 轉型的時候,可能會經常出現 classcast...