CodeGym
促銷
學習
課程
任務
問卷 & 測驗
遊戲
說明
行程
社群
用戶
論壇
聊天
文章
成功故事
動態
評價
訂閱
淺色主題

課程

  • 評論
  • 關於我們
開始
開始學習
立即開始學習
  • My Progress
  • Courses
  • 任務地圖
  • 課程
  • 自訂 Collector 與 Spliterator

    JAVA 25 SELF
    等級 33,課程 4
    在本講座中,我們說明如何透過 Collector 為 Stream API 撰寫自訂收集器,以及在什麼情況下這樣做才確實合理;同時也會介紹如何實作自訂的 Spliterator,以有效率地進行序列與平行的資料遍歷。我們會逐步講解收集器的各個元件( supplier、 accumulator、 combiner、 finisher、 characteristics)、multi-map 與 top‑N 的範例、 trySplit 的策略,以及正確設定特性( ORDERED、 SIZED、 SUBSIZED 等)。
    可用
  • List.of, Set.of, Map.of — 不可變集合

    JAVA 25 SELF
    等級 34,課程 0
    在本講座中,我們解析 Java 9+ 的不可變集合:工廠方法 List.of、 Set.of、 Map.of 與 Map.ofEntries。並與包裝器 Collections.unmodifiableList 做比較,討論限制(禁止修改、禁止 null、Set 與 Map 鍵的重複禁止)、元素順序與效能。還會說明 10 對的 Map.of 上限與常見例外: UnsupportedOperationException、 NullPointerException、 IllegalArgumentException。此外附上實務案例,說明這類集合如何簡化設計並提升讀取時的執行緒安全性。
    可用
  • Map.copyOf、Set.copyOf 與其他實用工具

    JAVA 25 SELF
    等級 34,課程 1
    在本講座中,我們將解析 Java 10 中出現的不可變集合複本: List.copyOf、 Set.copyOf 與 Map.copyOf。你將了解它們與 Collections.unmodifiable* 包裝器的差異、有哪些限制(禁止 null、不可變性)、何時會回傳同一個物件,以及為何不應依賴具體實作。並展示實務應用情境與常見錯誤,包括與 Map.of 與 Map.ofEntries 的混淆。
    可用
  • CopyOnWrite 集合、不可修改包裝器

    JAVA 25 SELF
    等級 34,課程 2
    本講座討論用來「保護」集合的兩種做法:來自 Collections.unmodifiable* 的不可修改包裝器,以及工廠方法 List.of/ Set.of/ Map.of;另外還有位於套件 java.util.concurrent 中的執行緒安全 CopyOnWriteArrayList 與 CopyOnWriteArraySet。我們會弄清楚包裝器與真正不可變之間的差異、CopyOnWrite 結構適用的場景,以及實務中常見的典型錯誤。
    可用
  • Mutable vs Immutable 集合:差別與應用

    JAVA 25 SELF
    等級 34,課程 3
    本講次將解析 Java 中可變與不可變集合的差異:什麼時候選擇 ArrayList/ HashSet,什麼時候該用 Java 9+ 的工廠方法集合( List.of、 Set.of、 Map.of)以及透過 copyOf 取得的複本。我們會討論安全性、執行緒安全、除錯便利性、 Collections.unmodifiableList 包裝的陷阱與實務範例,還有常見錯誤與避免方式。
    可用
  • 新的集合:SequencedCollection, SequencedSet, SequencedMap

    JAVA 25 SELF
    等級 34,課程 4
    在 Java 21 中引入了有序集合的介面 — SequencedCollection、 SequencedSet 與 SequencedMap。它們為元素順序提供了一致的契約:可以快速存取第一個/最後一個元素,並可透過 reversed() 將集合反轉。在本講座中,我們將說明哪些標準集合已實作這些介面、有哪些新增的方法、如何在實際程式碼中運用,以及常見的錯誤與使用細節。
    可用
  • java.io 與 java.nio 基礎:差異與 API 演進

    JAVA 25 SELF
    等級 35,課程 0
    本講座是 Java 檔案輸入/輸出演進的簡明導覽:從「傳統」套件 java.io(含類別 File、串流 FileInputStream/ FileOutputStream,以及字元型 Reader/ Writer),到現代的 java.nio.file(NIO.2),具備 Path、 Files 與 FileSystem。我們將說明兩種做法的差異、非同步 I/O 的優勢場景、如何安全遷移( File . toPath() ⇄ Path . toFile()),並提供實務範例、API 選擇備忘與常見錯誤。
    可用
  • 類別 File、Path、Files:概覽與建立物件

    JAVA 25 SELF
    等級 35,課程 1
    本講座解析 Java 檔案 API 的三個關鍵實體:歷史上的 File、NIO.2 中現代的路徑抽象 Path,以及工具類別「瑞士軍刀」 Files。實作上會看看如何建立物件、在 File ↔ Path 之間轉換,透過 resolve 安全地「拼接」路徑,使用 relativize 取得相對路徑,搭配 normalize 進行正規化,並執行 Files.exists、 Files.copy、 Files.move、 Files.readAllLines/ Files.write 等操作。最終——清楚理解各種做法何時使用,以及最常見的錯誤有哪些。
    可用
  • 檔案讀寫:基本操作

    JAVA 25 SELF
    等級 35,課程 2
    在本講座中,我們介紹如何透過工具 java.nio.file.Files 快速操作檔案:一次讀完整個檔案( readAllBytes、 readAllLines),以及以明確編碼 StandardCharsets.UTF_8 寫入資料( write)。我們會討論如何處理例外 IOException,展示實用範例,說明何時該使用串流 API( BufferedReader、 BufferedWriter),並解析常見錯誤。
    可用
  • 檔案操作模式:讀取、寫入、附加寫入

    JAVA 25 SELF
    等級 35,課程 3
    本講次將說明 Java 的檔案操作模式:覆寫與附加,選項組合 StandardOpenOption(例如 APPEND、 CREATE、 TRUNCATE_EXISTING、 CREATE_NEW)、透過 Files.write()/ Files.readAllBytes() 處理文字與位元組、何時選擇串流( BufferedReader/ BufferedWriter),以及如何正確處理例外( IOException 等)。包含大量實作範例與常見錯誤解析。
    可用
  • 操作目錄:建立、刪除、檢視內容

    JAVA 25 SELF
    等級 35,課程 4
    透過 java.nio.file 操作檔案系統的實作型講解:使用 Files.createDirectory 與 Files.createDirectories 建立目錄,透過 Files.delete 與 Files.deleteIfExists 刪除,使用 Files.list 檢視內容,並解析以 Files.walkFileTree 進行遞迴刪除。逐步範例、迷你檔案管理器與常見錯誤專章,幫助你在各種作業系統上自信地處理資料夾。
    可用
  • BufferedReader、BufferedWriter:緩衝與優點

    JAVA 25 SELF
    等級 36,課程 0
    為什麼用「茶匙」讀寫檔案成本很高:我們來解析緩衝如何加速 Java 的文字 I/O。看看 BufferedReader 與 BufferedWriter 如何疊加在 FileReader/ FileWriter 之上,使用透過 readLine() 的逐行讀取、透過 write()/ newLine() 的寫入與換行、必要時以 flush() 強制沖刷;我們也會設定緩衝區大小,並透過 InputStreamReader/ OutputStreamWriter 釐清編碼問題。何時應用緩衝、何時不需要——以及最常見的錯誤有哪些。
    可用
  • 1
  • ...
  • 15
  • 16
  • 17
  • 18
  • 19
  • ...
  • 30
學習
  • 註冊
  • Java 課程
  • 題目協助
  • 價格
  • Java 語法
社群
  • 用戶
  • 文章
  • 論壇
  • 聊天
  • 成功故事
  • 動態
  • 聯盟計畫
公司
  • 關於我們
  • 聯絡方式
  • 評價
  • 新聞中心
  • CodeGym for EDU
  • 常見問題
  • 支援
CodeGymCodeGym 是一門從零開始學習 Java 程式設計的線上課程。這門課程是初學者精通 Java 的完美方式。它包含超過 1200 題、具即時檢驗功能,以及涵蓋 Java 基礎理論的必要範圍。為了幫助你在學習上成功,我們實作了一系列激勵功能:測驗、程式專案、關於有效學習的內容,以及 Java 開發者職涯相關內容。
追蹤我們
介面語言
English Deutsch Español हिन्दी Français Português Polski বাংলা 简体中文 मराठी தமிழ் Italiano Bahasa Indonesia
繁體中文
Nederlands 日本語 한국어 Bulgarian Danish Hungarian Basa Jawa Malay Norwegian Romanian Swedish Telugu Thai Українська Filipino Turkish Azərbaycan Русский Vietnamese
"程式設計師是培養出來的,不是天生的" © 2026 CodeGym
MastercardVisa
"程式設計師是培養出來的,不是天生的" © 2026 CodeGym