一、 Comparable<T>: Comparable是類內部的比較器,用於創建類的時候實現此介面,同時實現比較方法;對於不能修改源碼的類則無法應用此方式進行比較排序等。 源碼為: 1 public interface Comparable<T> { 2 public int compareTo( ...
一、 Comparable<T>: Comparable是類內部的比較器,用於創建類的時候實現此介面,同時實現比較方法;對於不能修改源碼的類則無法應用此方式進行比較排序等。 源碼為:
1 public interface Comparable<T> { 2 public int compareTo(T o); 3 }可以使用如Arrays.sort(T[] a)或Collections.sort(List<T> list)來使用實現了Comparable<T>的類中定義的比較方式進行比較排序。 二、 Comparator<T>: Comparator是一個單獨的比較器,可以對任意類(不能修改源碼的類)使用,來對類實例進行比較排序等。 源碼為:
public interface Comparator<T> { int compare(T o1, T o2); boolean equals(Object obj); }
可以使用如Arrays.sort(T[] a, Comparator<? super T> c)或Collections.sort(List<T> list, Comparator<? super T> c)來使用實現了Comparator<T>的類實例作為比較器進行比較排序。