TreeSet要求存放的對象所屬的類必須實現Comparable接口,該接口提供了比較元素的 compareTo()方法,當插入元素時會回調該方法比較元素的大小。
TreeMap要求存放的鍵值對映射的鍵必須實現Comparable接口從而根據鍵對元素進行排序。
Collections工具類的sort 方法有兩種重載的形式:
種要求傳入的待排序容器中存放的對象比較實現Comparable接 口以實現元素的比較;
第二種不強制性的要求容器中的元素必須可比較,但是要求傳入第二個參數,參數是Comparator接口的子類型(需要重寫compare方法實現元素的比較),相當于一個臨時定義的排序規則,其實就是通過接口注入比較元素大小的算法,也是對回調模式的應 用(Java中對函數式編程的支持)。