之前的兩篇文章主要學習了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接口的異同了!如有遺漏的,小伙伴們可以在下面評論哈,告訴我,你們是我的老師哈!