List排序 ——Comparable接口、 Comparator比较器接口 工具类:Collections

List排序
Comparable接口:
如何定义集合中元素之间的大小之分?我们需要在定义元素类型
时实现Comparable接口,实现接口内的compareTo(E e)。实现此接口的类型的对象之间可以进行
比较。

方法:
int compareTo(E e):
比较规则:
(1)this与e比较,this-e,
如果大于0,返回大于0的一个数
如果等于0, 返回0
如果小于0, 返回小于0的一个数
按照升序排序
(2)e-this,降序排序
工具类:Collections
提供了一个sort(Collection c)方法,
对集合里的元素进行排序

 练习:定义一个类型Point,在集合List中存储五个Point对象
         按照到原点的距离长短进行降序排序。     

Comparator比较器接口:
如果元素类型已经实现了comparable接口,定义了默认的比较规则。
之后,再想换其他比较规则时,不修改源码。可以利用比较器接口
来重新定义比较规则

 方法:
 int compare(E o1,E o2);
    比较规则:
    升序: o1-o2
    降序: o2-o1 

你可能感兴趣的:(List排序 ——Comparable接口、 Comparator比较器接口 工具类:Collections)