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

課程

  • 評論
  • 關於我們
開始
開始學習
立即開始學習
  • My Progress
  • Courses
  • 任務地圖
  • 課程
  • 在集合與串流中使用 Lambda

    JAVA 25 SELF
    等級 48,課程 1
    在集合與 Stream API 中實作 Lambda 表達式的實務:如何用精簡的 Lambda 取代匿名類別、使用集合的方法( forEach、 removeIf、 sort、 replaceAll),以及建立資料處理管線( stream → filter → map → sorted → collect)。我們會與匿名類別比較、討論「實質上為 final」的變數、附上主要操作的對照表,並解析常見錯誤。
    可用
  • Lambda 運算式的優缺點

    JAVA 25 SELF
    等級 48,課程 2
    在本講座中,我們說明為什麼 Java 引入 lambda 運算式:讓程式更精簡且更易讀、將行為作為參數傳遞、與集合以及 Stream API( filter、 map、 forEach)整合,捕捉「有效」 final 變數,以及透過 -> 運算子書寫回呼更方便。並行討論潛在陷阱:長鏈的除錯、重載的歧義( Runnable vs Callable)、閉包限制、序列化與巢狀 lambda。最後提供實務建議——何時使用 lambda,並解析常見錯誤。
    可用
  • Java 中的閉包 (closures):特性

    JAVA 25 SELF
    等級 48,課程 3
    在本講座中,我們講解什麼是閉包以及它在 Java 中如何運作:Lambda 與匿名類別如何「捕捉」外部變數,為什麼區域變數必須是 final 或有效 final,捕捉區域變數與存取類別欄位有何不同,以及 this 在 Lambda 與匿名類別中的行為。我們會示範搭配 IntSupplier 的函式工廠,剖析捕捉的內部實作並說明常見錯誤(例如編譯器訊息 Variable used in lambda expression should be final or effectively final)。
    可用
  • 匿名類別:與 Lambda 的差異、範例

    JAVA 25 SELF
    等級 48,課程 4
    在本講座中,我們說明什麼是 Java 的匿名類別,以及它與 Lambda 表達式的差異:語法、功能(欄位、額外方法、覆寫 toString/ equals)、作用域與 this 的行為、變數捕捉(僅限 final/「實質上為 final」)。並展示搭配 Runnable、 Comparator、 Predicate 的實用範例,以及建議——何時選擇 Lambda、何時選擇匿名類別。
    可用
  • 函式介面:Predicate、Consumer、Supplier、Function

    JAVA 25 SELF
    等級 49,課程 0
    解析套件 java.util.function 中的關鍵函式介面: Predicate、 Consumer、 Supplier、 Function——它們接受/回傳什麼,以及在 Stream API 中的用途( filter、 map、 forEach、 generate)。回顧「恰好一個抽象方法」的規則與註解 @FunctionalInterface,撰寫 lambda,與匿名類別比較,並以 User 類別的範例加強練習,同時說明在 Predicate/ Function 等之間做選擇時的常見錯誤。
    可用
  • 函數組合:compose、andThen

    JAVA 25 SELF
    等級 49,課程 1
    這堂課講的是如何使用 Function 及其方法 compose 和 andThen,將小函數組裝成轉換的管線。我們會說明執行順序、型別相容性,並給出搭配 Predicate( and、 or、 negate)、 Consumer( andThen)的範例,構建實用的 pipeline,並討論常見錯誤:順序混淆( f.compose(g) vs f.andThen(g))、型別不一致,以及「麵條式」長鏈。你將學會運用 apply、 test、 accept,並建立可讀、可重用的轉換。
    可用
  • 將函式作為參數傳遞:範例

    JAVA 25 SELF
    等級 49,課程 2
    Java 中傳遞行為的實用入門:如何搭配 lambda 表達式 ( ->) 與方法參照 ( ::) 使用 Stream API 與集合。我們會拆解 java.util.function 中的標準函式式介面 — Comparator、 Predicate、 Function、 Consumer、 Supplier — 學會撰寫通用方法、以參數接收行為,並避免常見錯誤。還會用 Stream、 Optional 與自製的清單處理工具進行練習。
    可用
  • 使用 Stream API 的函數式風格

    JAVA 25 SELF
    等級 49,課程 3
    從命令式迴圈過渡到使用 Stream API 的宣告式資料處理管線:我們將說明中介與終端操作、惰性計算、透過 toList()/ collect 收集結果,以及關鍵操作 map、 filter、 sorted、 flatMap、 reduce,還有條件檢查 anyMatch/ allMatch/ noneMatch。我們將比較命令式與函數式風格,解析實用範例與常見錯誤,包括用 forEach 收集合時的不當做法與過早使用 parallelStream()。
    可用
  • 函式程式設計錯誤剖析

    JAVA 25 SELF
    等級 49,課程 4
    在 Java 中使用 Lambda 與 Stream API 的 10 個最常見錯誤:變數捕獲( final/ effectively final)、Lambda 中的 this 行為、副作用與平行化( parallelStream())、型別推導與 generics、 null 與 Optional 的處理、函式組合( compose/ andThen),以及 checked 例外(例如 IOException)。示範安全做法:使用 Objects::nonNull 進行過濾、終端操作( sum()、 collect(...))、執行緒安全的集合,以及將過長的鏈結拆解。
    可用
  • 監聽器 (Listeners) 與事件介面

    JAVA 25 SELF
    等級 50,課程 0
    Java 的事件模型如何運作:來源會產生事件,而已訂閱的監聽器會收到通知並作出反應。我們將拆解 Swing 中的關鍵監聽器介面 — ActionListener, MouseListener, KeyListener, ChangeListener, DocumentListener — 並示範如何透過 addActionListener 註冊處理器,以及實作方法 actionPerformed。接著練習將監聽器接到 JButton/ JFrame,比較匿名類別與 lambda 表達式,並討論常見錯誤與實務建議。
    可用
  • Swing 與 AWT 的事件:基礎與範例

    JAVA 25 SELF
    等級 50,課程 1
    對事件模型 AWT/ Swing 的簡短實作導論:建立按鈕 JButton、透過 addActionListener 註冊監聽器、在 actionPerformed 中處理。解析匿名類別與 Lambda 運算式、常見監聽器( MouseListener/ MouseAdapter、 KeyAdapter、 DocumentListener),撰寫以 JFrame、 JButton、 JLabel 為基礎的小型應用,看看呼叫順序與常見錯誤(在處理器中執行繁重工作、Lambda 中變數需為 final/有效 final、遺漏 addActionListener、移除監聽器、使用 SwingWorker)。
    可用
  • 建立與處理自訂事件

    JAVA 25 SELF
    等級 50,課程 2
    在本講座中,我們講解如何在 Java 中設計自訂事件:基於 java.util.EventObject 建立事件類別,透過 java.util.EventListener 定義監聽器介面,加入註冊/移除機制( add...Listener/ remove...Listener)與通知機制( fire...)。我們會以 DataLoader 與計數器為例進行實作,討論使用匿名類別與 lambda 運算式的處理器,並解析常見錯誤(監聽器中的例外、記憶體洩漏、 ConcurrentModificationException)。
    可用
  • 1
  • ...
  • 21
  • 22
  • 23
  • 24
  • 25
  • ...
  • 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
"程式設計師是培養出來的,不是天生的" © 2025 CodeGym
MastercardVisa
"程式設計師是培養出來的,不是天生的" © 2025 CodeGym