自然排序:
TreeSet 會調用集合元素的 compareTo(Object obj) 方法來比較元素之間的大小關系,然后將集合元素按升序排列。
Comparable 的典型實現:
BigDecimal、BigInteger 以及所有的數值型對應的包裝類:按它們對應的數值大小進行比較
Character:按字符的 unicode值來進行比較
Boolean:true 對應的包裝類實例大於 false 對應的包裝類實例
String:按字符串中字符的 unicode 值進行比較
Date、Time:后邊的時間、日期比前面的時間、日期大
定制排序:
TreeSet的自然排序是根據集合元素的大小,進行元素升序排列。如果需要定制排序,比如降序排列,可通過Comparator接口的幫助。需要重寫compare(T o1,T o2)方法。
利用int compare(T o1,T o2)方法,比較o1和o2的大小:如果方法返回正整數,則表示o1大於o2;如果返回0,表示相等;返回負整數,表示o1小於o2。