iT邦幫忙

鐵人檔案

第 12 屆 iThome 鐵人賽
回列表
Software Development

新手也能懂的 Kotlin Collection 賞玩門道 系列

Collection 是個在各程式語言裡普遍常見的資料類型。其觀念不難、上手容易,Kotlin 標準函式庫有針對 Collection 提供一系列直覺、好用的 API,若好好的運用,對操作資料有很大的幫助。

本系列文章從最簡單的 Collection 語法下手,介紹各種集合類型,以及標準函式庫裡常用的 API,並試著重造輪子,拆解標準函式庫裡常用的函式,進而理解這些精妙的 API 是如何設計出來?並配合情境模擬,實際練習將程式改寫成函數式程式設計模式。除了讓程式更好維護,進一步提升自我表達力。經過這 30 天的鍛鍊,初階新手也能輕鬆掌握 Kotlin Collection 的賞玩門道。

鐵人鍊成 | 共 31 篇文章 | 36 人訂閱 訂閱系列文 RSS系列文 團隊Kotlin 鐵人陣
DAY 21

第二十一天:Collection 操作之聚合

在做 Collection 操作時,還有一個很常見的情境,就是要將 Collection 內所有元素做運算,最後回傳「一個值」,這種操作我們就統一稱做聚合(Ag...

2020-09-30 ‧ 由 聖佑 分享
DAY 22

第二十二天:Collection 差異及相互轉型

在前面的章節裡,我們討論了如何建立 Collection,以及操作它們的各種方式。Collection 裡的四大類別雖然看似相似,但實則有些微的差異。在這個章節...

2020-10-01 ‧ 由 聖佑 分享
DAY 23

第二十三天:深入 Collection 核心 - Range 與 Progression

在前面的章節,我們討論的主題都是如何「應用」Collection 的各種功能,但身為一位 Kotlin 開發者,一定會好奇這些標準函式庫是怎麼實作出來的。因此,...

2020-10-02 ‧ 由 聖佑 分享
DAY 24

第二十四天:深入 Collection 核心 - Sequence

經過前面這麼多章的說明,大家應該已經瞭解到用 Collection 處理資料的方便之處,我們可以把要處理的資料分成多個步驟,每一個步驟做一件事,每一件事的語義和...

2020-10-03 ‧ 由 聖佑 分享
DAY 25

第二十五天:深入 Collection 核心 - 效能評估

在上一章裡我們提到 Sequence<T> 這個跟 Iterable<T> 用起來很像,但實際行為有點不同的物件。我們可以把 Itera...

2020-10-04 ‧ 由 聖佑 分享
DAY 26

第二十六天:深入 Collection 核心 - 泛型

在前幾章的程式碼裡,常常會出現 <T> 這樣的標記,這個 T 代表任一型別(Type),而這個型別是可以讓外部決定的。這種標記稱為泛型(Generi...

2020-10-05 ‧ 由 聖佑 分享
DAY 27

第二十七天:深入 Collection 核心 - Lambda

在前面一系列的 Collection 操作章節裡,你會發現只要能客製化操作行為的 method,都是透過讓你傳入一個 Lambda 的方式達成。到底什麼是 La...

2020-10-06 ‧ 由 聖佑 分享
DAY 28

第二十八天:深入 Collection 核心 - Extension

上一個章節我們在探索 forEach() 原始碼的時候,除了使用到泛型、Lambda、inline 等技巧外,其實還有用到 Kotlin 的 Extension...

2020-10-07 ‧ 由 聖佑 分享
DAY 29

第二十九天:活用 Collection - Scope Function

前面的章節從 Collection 的基礎語法到核心程式碼都看了一輪,接下來想討論一下 Collection 可以如何活用? 我們之所以用 Collection...

2020-10-08 ‧ 由 聖佑 分享
DAY 30

第三十天:活用 Collection - 用 kscript 做資料處理

眾所皆知 Kotlin 是一個需要編譯的程式語言,所以每次一更動程式就必須重新編譯一次。雖然編譯式的語言對程式正確性和效能都有不錯的幫助,但假如你是拿 Kotl...

2020-10-09 ‧ 由 聖佑 分享