溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

comparable和comparator接口的區別

發布時間:2020-05-13 14:59:15 來源:億速云 閱讀:454 作者:Leah 欄目:編程語言

comparable和comparator接口有什么區別?這篇文章運用了實例代碼展示,代碼非常詳細,可供感興趣的小伙伴們參考借鑒,希望對大家有所幫助。

確定兩個對象之間的大小關系及排列順序稱為比較,能實現這個比較功能的類或方法稱之為比較器,在java中有兩種比較器。

內部比較器(Comparable接口)和外部比較器(Comparator接口)

一、比較器排序Comparator的使用——可以看做是類(對象)外部比較器(實現Comparator接口)。

簡單點說就是把比較器寫在類的外邊,沒錯!就是在外邊新定義了個比較器類!

新定義一個類,類名隨意,但這個類必須實現Comparator接口,重寫compare方法,我們把這個稱作外部比較器。

案例:存儲學生對象并遍歷,創建TreeSet集合使用帶參構造方法。

要求:按照年齡從小到大排序,年齡相同時,按照姓名的字母順序排序。

實現步驟 :用TreeSet集合存儲自定義對象,帶參構造方法使用的是比較器排序對元素進行排序的 比較器排序,就是讓集合構造方法接收Comparator的實現類對象,重寫compare(Student s1, Student s2)方法 重寫方法時,一定要注意排序規則必須按照要求的主要條件和次要條件來寫

1、學生類

comparable和comparator接口的區別

2、測試類

comparable和comparator接口的區別

二、自然排序Comparable的使用——類(對象)內部比較器(實現Comparable接口):

簡單點說就是把比較器寫在類的內部。

類(對象)實現了Comparable接口,然后重寫了compareTo方法(這個方法可以看作比較器),這個類就擁有了內部比較器。注意,你一旦實現了比較器,就說明這個類支持排序

實現步驟:

用TreeSet集合存儲自定義對象,無參構造方法,使用的是自然排序對元素進行排序的。

自然排序,就是讓元素所屬的類實現Comparable接口,重寫compareTo(Student s)方法,

重寫方法時,一定要注意排序規則必須按照要求的主要和次要條件來寫。

1、學生類

comparable和comparator接口的區別

2、測試類

comparable和comparator接口的區別

測試結果:

comparable和comparator接口的區別

comparable和comparator接口區別的詳細內容,代碼示例簡單明了,如果在日常工作遇到此問題。通過這篇文章,希望你能有所收獲,更多詳情敬請關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女