java list比较器_JAVA比较器
Java中的對象,正常情況下,只能進行比較:== 或 != 。不能使用 > 或 < 的。但是在開發場景中,我們需要對多個對象進行排序,言外之意,就需要比較對象的大小。如何實現?
使用兩個接口中的任何一個:Comparable 或 Comparator
Comparable接口
自然排序
1.像String、包裝類等實現了Comparable接口,重寫了compareTo(obj)方法,給出了比較兩個對象大小的方式。
2.像String、包裝類重寫compareTo()方法以后,進行了從小到大的排列
3. 重寫compareTo(obj)的規則:
如果當前對象this大于形參對象obj,則返回正整數,
如果當前對象this小于形參對象obj,則返回負整數,
如果當前對象this等于形參對象obj,則返回零。
4. 對于自定義類來說,如果需要排序,我們可以讓自定義類實現Comparable接口,重寫compareTo(obj)方法。
在compareTo(obj)方法中指明如何排序
Comparator接口
定制排序
1.背景:
當元素的類型沒有實現java.lang.Comparable接口而又不方便修改代碼,或者實現 java.lang.Comparable接口的排序規則不適合當前的操作,那么可以考慮使用 Comparator 的對象來排序
2.重寫compare(Object o1,Object o2)方法,比較o1和o2的大小:
如果方法返回正整數,則表示o1大于o2;
如果返回0,表示相等;
返回負整數,表示o1小于o2。
Comparable接口與Comparator的使用的對比:
*? ? Comparable接口的方式一旦一定,保證Comparable接口實現類的對象在任何位置都可以比較大小。
*? ? Comparator接口屬于臨時性的比較。
總結
以上是生活随笔為你收集整理的java list比较器_JAVA比较器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: iOS 15.5偷跑流量怎么办iOS 1
- 下一篇: iOS 16将至,iOS 15安装率怎么