確定兩個物件之間的大小關係及排列順序稱為比較,能實現這個比較功能的類別或方法稱之為比較器,在java中有兩種比較器。
內部比較器(Comparable介面)與外部比較器(Comparator介面)
一、比較器排序Comparator的使用-可以看做是類別(對象)外部比較器(實作Comparator介面)。
簡單點說就是把比較器寫在類別的外邊,沒錯!就是在外邊新定義了個比較器類別!
新定義一個類,類名隨意,但這個類必須實作Comparator接口,重寫compare方法,我們把這個稱為外部比較器。
案例:儲存學生物件並遍歷,創建TreeSet集合使用帶參構造方法。
要求:依照年齡從小到大排序,年齡相同時,依照姓名的字母順序排序。
免費學習影片教學推薦:java教學影片
實作步驟:用TreeSet集合儲存自訂對象,帶參構造方法使用的是比較器排序對元素進行排序的比較器排序,就是讓集合建構方法接收Comparator的實作類別對象,重寫compare(Student s1, Student s2)方法重寫方法時,一定要注意排序規則必須按照要求的主要條件和次要條件來寫
1、學生類別
2、測試類別
二、自然排序Comparable的使用-類別(物件)內部比較器(實作Comparable介面):
簡單說就是把比較器寫在類別的內部。
類別(物件)實作了Comparable接口,然後重寫了compareTo方法(這個方法可以看作比較器),這個類別就擁有了內部比較器。注意,你一旦實作了比較器,就說明這個類別支援排序
實作步驟:
用TreeSet集合儲存自訂對象,無參構造方法,使用的是自然排序對元素進行排序的。
自然排序,就是讓元素所屬的類別實現Comparable接口,重寫compareTo(Student s)方法,
重寫方法時,一定要注意排序規則必須按照要求的主要和次要條件來寫。
1、學生類別
2、測試類別
測試結果:
相關文章教學推薦:java零基礎入門
#以上是java中comparable和comparator的區別的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

WebStorm Mac版
好用的JavaScript開發工具

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境