Collections.sort()方法的使用

来源:互联网 发布:驾驶员网络教学培训 编辑:程序博客网 时间:2024/06/06 01:28


Collections中的静态方法sort有两种形式sort(List<T> list)和sort(List<T> list,Comparator<? super T> c

1.sort(List<T> list)的完整定义为:

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

对这个方法的理解:

      (1)首先:public static void sort(List list)

      (2)为了安全加泛型:public static <T extends Comparable> void sort(List<T> list)    

       说明:List列表中的元素要实现了Comparable接口(也许困惑这边的Comparable是接口,为什么也用extends呢?因为对于泛型来说,extends代表“是一个”,不管是接口或类都能适用)

      (3)Comaprable接口也有泛型:public static <T extends Comparble<?super T>> void sort(List<T> list)

      说明:<?super T>表示Comparable<>中的类型下限为T,Comparable接口为什么也要加泛型?先看一下Comparable接口的定义:

public interface Comparable<T>{

int compareTo(T o)

}

比较此对象与指定对象的顺序。如果该对象小于、等于或大于指定对象,则分别返回负整数、零或正整数