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

課程

  • 評論
  • 關於我們
開始
開始學習
立即開始學習
  • My Progress
  • Courses
  • 任務地圖
  • 課程
  • Set:HashSet 與 TreeSet,元素唯一性

    JAVA 25 SELF
    等級 26,課程 3
    在本講座中,我們解析介面 Set(Java):它與 List 有何不同、如何確保元素唯一性、實作 HashSet(快速、無序)與 TreeSet(已排序)如何運作、以及何時選用哪種結構。我們也會討論關於 equals() 與 hashCode() 的重要細節、對 null 的處理、常見題型(移除重複、檢查唯一性)與常見錯誤。
    可用
  • 泛型(Generics):為什麼需要、基礎語法

    JAVA 25 SELF
    等級 26,課程 4
    從「原始」集合轉向型別安全的程式碼。本講座說明:在引入泛型之前,以 Object 為基礎的集合如何導致執行期錯誤( ClassCastException)、泛型如何在編譯期解決問題、如何讀寫像 List<String>、 Map<String, Integer> 這樣的寫法,什麼是「菱形運算子」 <>,以及為何需要型別擦除(type erasure)。另外還有自訂泛型類別的範例與常見錯誤解析。
    可用
  • Collection、List、Set、Map 介面:階層結構

    JAVA 25 SELF
    等級 27,課程 0
    帶你拆解 Java 集合的基礎:介面 Collection 及其分支 List、 Set、 Queue/ Deque,以及獨立的 Map 階層。你將瞭解為什麼 Map 不繼承 Collection、整體階層長什麼樣、各種實作有何差異、哪些方法是關鍵、以及該在什麼情況下選用哪一個。最後—常見錯誤與如何避免。
    可用
  • Iterable 與 Iterator:遍歷集合

    JAVA 25 SELF
    等級 27,課程 1
    在本講座中,我們講解如何使用介面 Iterable 與 Iterator:方法 iterator() 做什麼、for-each 迴圈在「幕後」如何運作、何時以及為何要手動使用 hasNext() 與 next()、如何透過 remove() 安全地刪除元素而不觸發 ConcurrentModificationException,以及如何使用 keySet()、 values() 與 entrySet() 正確遍歷 Map。包含大量實用範例與常見錯誤,幫助你加深理解。
    可用
  • Queue、Deque、Stack:佇列與堆疊的操作

    JAVA 25 SELF
    等級 27,課程 2
    在本講座中,我們將講解 Java 中的佇列與堆疊:什麼是 FIFO 與 LIFO 原則, Queue、 Deque 與 Stack 的差異,為何在現代專案中應選擇 ArrayDeque,以及如何安全地使用 offer/ poll/ peek 與 push/ pop/ peek 這些方法。還會示範 LinkedList、 PriorityQueue、列印小應用與 undo 堆疊,並解析常見錯誤。
    可用
  • NavigableSet/NavigableMap

    JAVA 25 SELF
    等級 27,課程 3
    在本講座中,我們將解析 Java 的有序與可導航集合: NavigableSet 與 NavigableMap。實務上會示範如何透過 subSet/ headSet/ tailSet 操作區間,使用 lower、 floor、 ceiling、 higher 尋找「最接近」的元素,並用 pollFirst/ pollLast 控制邊界。還會說明反向視圖 descendingSet/ descendingMap、即時(live)view 與典型情境(行程/時段、優先順序、分級/刻度)。實作上使用 TreeSet 與 TreeMap。
    可用
  • Generics wildcards

    JAVA 25 SELF
    等級 27,課程 4
    在本講座中,我們會講解 Java 泛型的不變性、型別參數的界限( extends/ super)、通配型別 ?,以及 PECS 規則(「Producer Extends, Consumer Super」)。我們將探討如何使用 wildcard 撰寫通用方法、型別擦除(type erasure)的運作方式、在使用 instanceof 與陣列時的限制,還有與集合與 Stream API 相關的實作練習。最後——常見錯誤以及如何避免。
    可用
  • 集合元素的篩選

    JAVA 25 SELF
    等級 28,課程 0
    在本課我們講解在 Java 中對集合進行篩選的實作:透過迴圈 for 的命令式做法、使用 Iterator 與方法 remove() 在迭代期間安全刪除,以及現代且精煉的 removeIf(Java 8+)。我們會討論為什麼會出現 ConcurrentModificationException、何時應該建立新的清單,以及在撰寫篩選條件時最常見的錯誤。
    可用
  • 集合的轉換

    JAVA 25 SELF
    等級 28,課程 1
    在本講座中,我們講解如何以命令式方式進行集合轉換:從 List<String> 取得 List<Integer>(例如字串長度)、如何從網域模型物件( Product → 名稱/價格)中擷取欄位、如何透過 addAll() 或巢狀迴圈將巢狀集合「扁平化」,以及如何使用 if 與像 startsWith 這類方法把過濾與轉換組合在一起。最後我們會討論典型錯誤:修改原始集合、錯誤的型別轉換( ClassCastException),以及效能相關的問題。
    可用
  • 安全刪除元素

    JAVA 25 SELF
    等級 28,課程 2
    在實務中,從集合刪除元素常常會導致 ConcurrentModificationException。本講將說明為什麼透過 for-each 迭代時會發生這種情況,如何用 Iterator.remove() 安全刪除元素, ListIterator 有什麼用處,何時選擇 removeIf(Java 8+),以及如何正確處理 Map。最後——提供實用建議與常見錯誤。
    可用
  • EnumSet/EnumMap

    JAVA 25 SELF
    等級 28,課程 3
    在本講座中,我們將講解用於列舉的專用集合 — EnumSet 與 EnumMap,它們來自套件 java.util:內部如何運作(位元遮罩與依 ordinal 進行索引)、為何比 HashSet/ HashMap 更快且更精簡、適用場景(旗標、對應表、有限狀態機),與修改 enum 及序列化相關的陷阱,以及一套最佳實務與常見錯誤,並附上直觀的程式碼範例。
    可用
  • LinkedHashSet/LinkedHashMap

    JAVA 25 SELF
    等級 28,課程 4
    在本課中我們將講解可記住順序的集合: LinkedHashSet 與 LinkedHashMap。你將了解它們如何維持插入順序與存取順序、如何只用幾行程式碼透過覆寫 removeEldestEntry 建立 LRU 快取、與 HashSet/ HashMap 相比在記憶體與速度上的開銷、何時需要決定性的順序以獲得穩定的測試與報表,以及在佇列/堆疊情境下為什麼 ArrayDeque 比 LinkedList 更合適。最後會介紹常見錯誤與如何避免。
    可用
  • 1
  • ...
  • 12
  • 13
  • 14
  • 15
  • 16
  • ...
  • 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