Java CompareTo 与 Comparator浅谈

我们一般将对象添加到 List当中后, 在一定的情况下是期望这个list中的对象是有序的, 所以我们一般会使用

List.Sort()方法, 将list当中的对象进行排序。

让我们看看sort这个方法:

public static <T extends Comparable<? super T>> void sort (List<T> list)

表示sort的参数必须是继承了comparable的类型参数。

实际上Sort()方法内部调用的其实是CompareTo方法。所以List集合中的对象必须实现comparable接口。这个接口很简单:

下面我来介绍另一个重载的sort的用法, 它是:

sort(List<T> list , Comparator< ? super T> c)

sorts the specified list according to the order induced by the specified comparator.

如果使用的是传入comparator参数的sort方法, 那么list中的对象可以不用实现comparable。

 

posted @ 2018-04-19 22:21  YanyuWu  阅读(202)  评论(0)    收藏  举报