Collection集合中对对象排序的方式有哪些?

1、TreeSet集合称为排序不重复集合,可以对元素进行默认的升序排序。

TreeSet集合自排序的方式:
  1.字符串类型的元素会按照首字符的编号排序。
  2.对于自定义的引用数据类型,TreeSet默认无法排序,执行的时候直接报错,因为人家不知道排序规则。

自定义的引用数据类型的排序实现:对于自定义的引用数据类型,TreeSet默认无法排序
所以我们需要定制排序的大小规则,程序员定义大小规则的方案有2种:
        a.直接为对象的类实现比较器规则接口Comparable,重写比较方法(拓展方式)
             // 如果程序员认为比较者大于被比较者 返回正数!
             // 如果程序员认为比较者小于被比较者 返回负数!
             // 如果程序员认为比较者等于被比较者 返回0!

        b.直接为集合设置比较器Comparator对象,重写比较方法
             // 如果程序员认为比较者大于被比较者 返回正数!
             // 如果程序员认为比较者小于被比较者 返回负数!
             // 如果程序员认为比较者等于被比较者 返回0!

2、可以采用Collections的sort方法进行排序。

       public static <T> void sort(List<T> list,Comparator<? super T> c):
                将集合中元素按照指定规则排序,自带比较器
                注意:如果类有比较规则,而这里有比较器,优先使用比较器。