當前位置:編程學習大全網 - 編程語言 - Kotlin常用Collection集合操作整理

Kotlin常用Collection集合操作整理

本篇記錄了 Kotlin 常用集合的相關操作,用以熟練使用 Kotlin 裏的相關集合。集合接口與相關函數位於 kotlin.collections 包中。

Kotlin 標準庫提供了基本集合類型的實現: Set、List 以及 Map。 壹對接口代表每種集合類型:

其中灰色是不可變集合,黃色是可變集合。 Iterator 意為叠代器, Collection 是只讀接口,而 MutableCollection 是壹個具有寫操作的 Collection 接口:

List< T> 以指定的順序存儲元素,並提供使用索引訪問元素的方法。從第壹個元素索引0 到最後壹個元素索引 (list.size - 1) 為止。 List 的默認實現是 ArrayList 。

執行結果會轉化為 Map :

Set 內部是用 Map 實現的, Set 相關的實現詳見: Java Collection系列之:HashSet、LinkedHashSet、TreeSet的使用及源碼解析

Map<K, V> 不是 Collection 接口的繼承者;但是它也是 Kotlin 的壹種集合類型。 Map 存儲 鍵-值 對(或 條目);鍵是唯壹的,但是不同的鍵可以與相同的值配對。 Map 接口提供特定的函數進行通過鍵訪問值、搜索鍵和值等操作。 Map 相關的實現詳見: Java Collection系列之HashMap、ConcurrentHashMap、LinkedHashMap的使用及源碼分析

Iterable 處理包含多個步驟時,每個處理步驟完成並返回其結果——中間集合,然後在此集合上執行後續步驟。 Sequence 序列僅當請求整個處理鏈的結果時才進行實際計算: Sequence 對每個元素逐個執行所有處理步驟。

結論 :序列可避免生成中間步驟的結果,從而提高了整個集合處理鏈的性能。 但是,序列的延遲性質增加了壹些開銷,這些開銷在處理較小的集合或進行更簡單的計算時可能很重要。 因此,應該同時考慮使用 Sequence 與 Iterable ,並確定在哪種情況更適合。

執行結果:

執行結果:

上述序列中, Sequence 處理需要 18 個步驟, Iterable 需要 23 個步驟來執行列表操作,上述示例參見 Sequence序列操作 。

創建與現有集合具有相同元素的集合,可以使用復制操作,例如 toList()、toMutableList()、toSet() 等等。標準庫中的集合復制操作創建了具有相同元素引用的 淺復制 集合。 因此, 對集合元素所做的更改會反映在其所有副本中,如果對源集合進行添加或刪除元素,則不會影響副本 。

排序主要使用 Comparable 及 Comparator 。其中 Comparable 可以理解為是內部排序, Comparator 是外部排序。

集合排序示例:

  • 上一篇:Python能用來做什麽?
  • 下一篇:線割機割錐度參數
  • copyright 2024編程學習大全網