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

課程

  • 評論
  • 關於我們
開始
開始學習
立即開始學習
  • My Progress
  • Courses
  • 任務地圖
  • 課程
  • equals 與 hashCode 的契約

    JAVA 25 SELF
    等級 29,課程 0
    在本講座中,我們將說明在 Java 中正確判定物件相等性的方式:運算子 == 比較參考(位址)與方法 equals 比較內容之間的差異、為什麼 equals/ hashCode 契約對於像 HashSet 與 HashMap 這樣的集合至關重要,以及它與 Comparable 的 compareTo 之關聯。循序範例、best practices 以及常見錯誤解析,將幫助你在使用雜湊表與可排序集合時避免陷阱。
    可用
  • Objects 類別:equals、hashCode、hash 方法

    JAVA 25 SELF
    等級 29,課程 1
    在本講座中我們剖析「瑞士刀」 java.util.Objects:如何用 Objects.equals 進行安全比較、用 Objects.hash 簡潔計算雜湊、透過 Objects.compare 委派比較、以 Objects.requireNonNull 保證值非- null,以及在串流中使用 Objects.isNull/ Objects.nonNull。我們將展示正確實作 equals/ hashCode/ compareTo,剖析實務案例,以及在使用 HashMap/ HashSet 時的常見錯誤。
    可用
  • Comparable 介面:實作、compareTo

    JAVA 25 SELF
    等級 29,課程 2
    在這堂課中,我們透過介面 Comparable 與方法 compareTo 來解析 Java 中物件的「自然順序」:為什麼需要它、如何正確實作、集合的排序機制( Collections.sort 與 List.sort)、多欄位比較、 null 值的處理,以及與 equals/ hashCode 的一致性。我們也會討論最佳實務、常見錯誤,並提供以 Person 類別為例的實作範例。
    可用
  • Comparator 介面:建立與使用

    JAVA 25 SELF
    等級 29,課程 3
    本講次說明何時使用 Comparator 而非 Comparable、方法 compare(T o1, T o2) 的語法與契約,透過 Collections.sort 與 List.sort 對清單進行排序的實作,如何將比較器寫成獨立類別,以及以匿名類別與 Lambda 運算式建立。也會介紹多層排序、處理 null 值、使用 Collections.binarySearch 進行搜尋、利用 reversed() 反轉順序,以及最佳實務與常見錯誤(例如為什麼應使用 Integer.compare 而不是 a - b)。
    可用
  • 在 Java 集合中搜尋與排序元素

    JAVA 25 SELF
    等級 29,課程 4
    在本講座中,我們將講解操作集合的實用技巧:使用方法 contains、 indexOf、 lastIndexOf 搜尋元素;透過迴圈 for 與運算子 break 進行條件式搜尋;使用類別 Collections 找出最小值與最大值。接著練習用 Collections.sort 與 List.sort 對清單排序、使用 Comparator、對 Map 的條目進行排序,以及依欄位對物件排序。最後會討論常見錯誤:由 List.of 建立的不可變清單、試圖直接排序 Set/ Map,以及不正確的比較器。
    可用
學習
  • 註冊
  • 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