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

課程

  • 評論
  • 關於我們
開始
開始學習
立即開始學習
  • My Progress
  • Courses
  • 任務地圖
  • 課程
  • 原始型別串流與裝箱(boxing)的成本

    JAVA 25 SELF
    等級 33,課程 0
    本講座將說明為什麼在處理數值集合時使用一般的串流( Stream<Integer>、 Stream<Double>)可能因為裝箱/拆箱(boxing/unboxing)而效率不佳,以及原始型別串流 — IntStream、 LongStream、 DoubleStream — 如何避免這個問題。會介紹 mapToInt/ boxed() 等轉換、彙總操作( sum()、 average()、 summaryStatistics())、以 OptionalInt/ OptionalDouble 安全取得結果,以及哪些情境的最佳化真的有效,並如何用 JMH 量測效益。
    可用
  • Stream API 中的惰性處理(lazy evaluation)

    JAVA 25 SELF
    等級 33,課程 1
    在本講座中,我們將說明 Stream API 中的惰性處理如何運作:中間操作與終端操作有何差異、為什麼計算只會在呼叫終端操作後才啟動、逐元素處理與「短路運算」能帶來哪些優勢。我們會示範包含 filter、map、peek、findFirst、forEach 的鏈式操作,視覺化元素的通過流程,並解析常見錯誤與關於有效操作順序的建議。
    可用
  • 不可變集合:Collections.unmodifiable

    JAVA 25 SELF
    等級 33,課程 2
    在本講座中,我們將講解如何使用不可變包裝 Collections.unmodifiableList、 unmodifiableSet、 unmodifiableMap 來保護資料,說明「淺層」不可變與「深層」不可變的差異、何時以及為何要從方法返回包裝,還有現代的替代方案 List.of/ Set.of/ Map.of。我們也會談到常見錯誤(例如,期待深層不可變或在程式中處理 null)以及為什麼嘗試修改會拋出 UnsupportedOperationException。
    可用
  • Spliterator 與平行串流

    JAVA 25 SELF
    等級 33,課程 3
    在本講座中,我們說明什麼是 Spliterator,它不僅能遍歷元素,還能透過 trySplit() 將資料來源切分為多部分;並介紹基於此機制的平行串流如何透過 parallelStream() 與共用的 ForkJoinPool 運作。內容包含關鍵方法( tryAdvance、 estimateSize、 characteristics)、典型特性( ORDERED、 SIZED、 CONCURRENT 等)、實用範例、Mermaid 圖示,以及使用平行串流時的常見錯誤。
    可用
  • 自訂 Collector 與 Spliterator

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