java的比较器_java两种比较器总结
【Comparable和Comparator源碼】
java.lang.Comparablepublic interface Comparable{public intcomparaTo(T o);
}------------------------------------------------------------------java.util.Comparatorpublic interface Comparator{intcompare(T o1,T o2);booleanequals(Object obj);
}
【Comparable接口】
若一個(gè)類實(shí)現(xiàn)了Comparable接口,就意味著該類支持排序。假設(shè)存在實(shí)現(xiàn)了 Comparable接口的類的對(duì)象的List列表(或數(shù)組),則該List列表(或數(shù)組)可以通過Collections.sort(或Arrays.sort)進(jìn)行排序。
【Comparator接口】
我們需要控制某個(gè)類的次序,而該類不支持排序(即沒有實(shí)現(xiàn)Comparable接口)。那么,我們可以創(chuàng)建一個(gè)該類的比較器,這個(gè)比較器只需要實(shí)現(xiàn)Comparator。若一個(gè)類實(shí)現(xiàn)了Comparator接口,則它一定要實(shí)現(xiàn)compare(T o1,T o2)方法,但不一定要實(shí)現(xiàn)equals(Object obj)方法;
【兩者比較】
1.Comparable是排序接口;若一個(gè)類實(shí)現(xiàn)了Comparable接口,就意味著“該類支持排序”;而Comparator是比較器;我們?nèi)粜枰刂颇硞€(gè)類的次序,可以建立一個(gè)“該類的比較器”來進(jìn)行排序。
2.Comparable相當(dāng)于“內(nèi)部比較器”,而Comparator相當(dāng)于“外部比較器”。
原文:http://www.cnblogs.com/hwu2014/p/4479211.html
總結(jié)
以上是生活随笔為你收集整理的java的比较器_java两种比较器总结的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java必知必会_Java必知必会--s
- 下一篇: iview地区加载_LoadingBar