comparable和comparator接口有什么區(qū)別?這篇文章運(yùn)用了實(shí)例代碼展示,代碼非常詳細(xì),可供感興趣的小伙伴們參考借鑒,希望對(duì)大家有所幫助。
創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供鷹手營子網(wǎng)站建設(shè)、鷹手營子做網(wǎng)站、鷹手營子網(wǎng)站設(shè)計(jì)、鷹手營子網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)與制作、鷹手營子企業(yè)網(wǎng)站模板建站服務(wù),十年鷹手營子做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。確定兩個(gè)對(duì)象之間的大小關(guān)系及排列順序稱為比較,能實(shí)現(xiàn)這個(gè)比較功能的類或方法稱之為比較器,在java中有兩種比較器。
內(nèi)部比較器(Comparable接口)和外部比較器(Comparator接口)
一、比較器排序Comparator的使用——可以看做是類(對(duì)象)外部比較器(實(shí)現(xiàn)Comparator接口)。
簡單點(diǎn)說就是把比較器寫在類的外邊,沒錯(cuò)!就是在外邊新定義了個(gè)比較器類!
新定義一個(gè)類,類名隨意,但這個(gè)類必須實(shí)現(xiàn)Comparator接口,重寫compare方法,我們把這個(gè)稱作外部比較器。
案例:存儲(chǔ)學(xué)生對(duì)象并遍歷,創(chuàng)建TreeSet集合使用帶參構(gòu)造方法。
要求:按照年齡從小到大排序,年齡相同時(shí),按照姓名的字母順序排序。
實(shí)現(xiàn)步驟 :用TreeSet集合存儲(chǔ)自定義對(duì)象,帶參構(gòu)造方法使用的是比較器排序?qū)υ剡M(jìn)行排序的 比較器排序,就是讓集合構(gòu)造方法接收Comparator的實(shí)現(xiàn)類對(duì)象,重寫compare(Student s1, Student s2)方法 重寫方法時(shí),一定要注意排序規(guī)則必須按照要求的主要條件和次要條件來寫
1、學(xué)生類
2、測試類
二、自然排序Comparable的使用——類(對(duì)象)內(nèi)部比較器(實(shí)現(xiàn)Comparable接口):
簡單點(diǎn)說就是把比較器寫在類的內(nèi)部。
類(對(duì)象)實(shí)現(xiàn)了Comparable接口,然后重寫了compareTo方法(這個(gè)方法可以看作比較器),這個(gè)類就擁有了內(nèi)部比較器。注意,你一旦實(shí)現(xiàn)了比較器,就說明這個(gè)類支持排序
實(shí)現(xiàn)步驟:
用TreeSet集合存儲(chǔ)自定義對(duì)象,無參構(gòu)造方法,使用的是自然排序?qū)υ剡M(jìn)行排序的。
自然排序,就是讓元素所屬的類實(shí)現(xiàn)Comparable接口,重寫compareTo(Student s)方法,
重寫方法時(shí),一定要注意排序規(guī)則必須按照要求的主要和次要條件來寫。
1、學(xué)生類
2、測試類
測試結(jié)果:
comparable和comparator接口區(qū)別的詳細(xì)內(nèi)容,代碼示例簡單明了,如果在日常工作遇到此問題。通過這篇文章,希望你能有所收獲,更多詳情敬請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
本文題目:comparable和comparator接口的區(qū)別-創(chuàng)新互聯(lián)
文章起源:http://aaarwkj.com/article8/dedcip.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站、品牌網(wǎng)站制作、企業(yè)網(wǎng)站制作、全網(wǎng)營銷推廣、搜索引擎優(yōu)化、外貿(mào)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容