iT邦幫忙

鐵人檔案

2026 iThome 鐵人賽
回列表
Software Development

Kotlin Lambda 從零開始 系列

會從零手刻一組 Kotlin Collection API,從 filter、map、fold 一路到 groupBy、flatMap 和 Sequence,手刻一次不是為了取代標準函式庫,而是把藏在 chain call 裡的所有概念拆開來看

鐵人鍊成 | 共 36 篇文章 | 0 人訂閱 訂閱系列文 RSS系列文
DAY 21

Kotlin Lambda 從零開始 Day 21:joinToString / joinTo — 聚合成字串

這篇文章會用 TDD 手刻 myJoinToString 和 myJoinTo,搞懂預設參數、具名引數、nullable function type 這些語法...

2026-08-25 ‧ 由 Cash 分享
DAY 22

Kotlin Lambda 從零開始 Day 22:take / takeLast / drop / dropLast — 頭尾切片

這篇文章會用 TDD 手刻 myTake、myTakeLast、myDrop、myDropLast,搞懂切片操作的提前終止邏輯,以及從尾巴取資料時的滑動視窗手...

2026-08-26 ‧ 由 Cash 分享
DAY 23

Kotlin Lambda 從零開始 Day 23:takeWhile / dropWhile — 條件式切片

這篇文章會用 TDD 手刻 myTakeWhile 和 myDropWhile,搞清楚它們和 filter 的差異,理解「遇到不符合就停」的短路邏輯 Kotl...

2026-08-27 ‧ 由 Cash 分享
DAY 24

Kotlin Lambda 從零開始 Day 24:chunked / windowed / zipWithNext — 區塊與滑動視窗

這篇文章會用 TDD 手刻 myChunked、myWindowed、myZipWithNext,搞懂區塊切割和滑動視窗的實作方式 Kotlin ↔ C# 對...

2026-08-28 ‧ 由 Cash 分享
DAY 25

Kotlin Lambda 從零開始 Day 25:distinct / distinctBy — 去除重複

這篇文章會用 TDD 手刻 myDistinct 和 myDistinctBy,搞懂 HashSet 在去除重複裡扮演的角色,順便複習 hashCode 和...

2026-08-29 ‧ 由 Cash 分享
DAY 26

Kotlin Lambda 從零開始 Day 26:union / intersect / subtract / plus / minus — 集合運算

這篇文章會用 TDD 手刻 myUnion、myIntersect、mySubtract,搞懂集合的聯集、交集、差集底層怎麼跑。再來看 + 和 - 運算子怎麼...

2026-08-30 ‧ 由 Cash 分享
DAY 27

Kotlin Lambda 從零開始 Day 27:從 Eager 到 Lazy — 為什麼需要 Sequence?

這篇文章會說清楚 Collection 鏈式操作的中間集合問題,理解 Sequence 怎麼用 Lazy evaluation 避免不必要的計算和記憶體浪費...

2026-08-31 ‧ 由 Cash 分享
DAY 28

Kotlin Lambda 從零開始 Day 28:手刻 Sequence 基礎設施

這篇文章會用 TDD 手刻 myEmptySequence、mySequenceOf、myAsSequence、myGenerateSequence,把 Se...

2026-09-01 ‧ 由 Cash 分享
DAY 29

Kotlin Lambda 從零開始 Day 29:Sequence 的 filter / map — Lazy 版轉換操作

這篇文章會用 TDD 手刻 Sequence 版的 myFilter 和 myMap,搞懂 Lazy 操作底層的「包裝 Sequence」設計模式,順便理解為...

2026-09-02 ‧ 由 Cash 分享
DAY 30

Kotlin Lambda 從零開始 Day 30:Sequence 的中間操作 vs 終端操作

這篇文章會用 TDD 手刻 Sequence 版的 myTake(中間操作)、myFirst 和 myToList(終端操作),把中間操作和終端操作的分類搞清...

2026-09-03 ‧ 由 Cash 分享