程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> Comparable接口與Comparator接口的比較————總結,comparable接口

Comparable接口與Comparator接口的比較————總結,comparable接口

編輯:JAVA綜合教程

Comparable接口與Comparator接口的比較————總結,comparable接口


之前的兩篇文章主要學習了Comparable接口和Comparator接口的學習。既然已經學習完了,現在就趁熱打鐵,進行總結吧!

Comparable接口和Comparator接口的共同點:

  1. 都是為了進行排序。(廢話,當然都是進行排序了!!!嘿嘿,大家都能看出來,不過還是寫下來了!)

  2. 都是接口。(額。。又是廢話)

  除此之外,小編想不出還有什麼共同點了!想到了其他的相同點可以在文章下方留言,大家一起學習!

  相同點說完了,接下來就是不同點啦。

Comparable接口與Comparator接口的不同點:

  1. 雖然都是為了排序,但是排序的方式不同。

    Comparable接口的排序是:按字典順序排序。

    Comparator接口的排序是:coder自己設定的排序,包含字典屬性排序。

    這是主要的區別呀!

  2. 其次實現的方法不同。(這個大家都知道的哈)

    Comparable接口的方法:compareTo(Object o)

    Comparator接口的方法:compare(T o1, To2)

  3. 再者使用的方式不同。(小編都不好意思在編下去了......)

    針對不同的對象,使用的方式也不同:

    List列表:

      Comparable接口:Collections.sort(List<T> list);

      Comparator接口:Collections.sort(List<T> list, Comparator<? super T> c);

    Array數值:

      Comparable接口:Arrays.sort(List<T> list);

      Comparator接口:Arrays.sort(List<T> list, Comparator<? super T> c);

  4. 實現的方式不同。

    Comparable接口的實現:直接用需要進行排序的類實現即可。例如:public class User implements Comparable<User>

    Comparator接口的實現:需要新建一個類實現此接口。例如:public class UserComparator implements Comparator<User>

  以上就是Comparable接口與Comparator接口的異同了!如有遺漏的,小伙伴們可以在下面評論哈,告訴我,你們是我的老師哈!

      

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved