Java Collections sort()方法与示例

集合类sort()方法

语法:

    public static void sort(List l);
    public static void sort(List l, Comparator com);
  • 在java.util包中可以使用sort()方法

  • sort(List l)方法用于根据自然排序对给定列表进行排序(即排序将以升序排列)。

  • sort(List l,Comparator com)方法用于根据自定义排序对给定列表进行排序(即,排序将基于给定的Comparator com)。

  • 这些方法在对给定列表进行排序时可能会引发异常。

    • ClassCastException:当给定列表元素相互不可比时,可能会引发此异常。

    • UnsupportedOperationException:当给定列表不支持set操作时,可能引发此异常。

  • 这些是静态方法,可以通过类名进行访问,如果尝试使用类对象访问这些方法,则也不会出现任何错误。

参数:

  • 在第一种情况下,sort(List l)

    • 列表l –表示要排序的列表。

  • 在第一种情况下,sort(List l,Comparator com)

    • 列表l –表示要排序的列表。

    • 比较器com –表示比较器,用于计算给定列表的顺序(升序或降序)。

返回值:

在这两种情况下,方法的返回类型均为void,它不返回任何内容。

示例

//Java程序演示示例 
//的sort()的类别方法

import java.util.*;

public class SortOfCollections {
    public static void main(String args[]) {
        //实例化一个ArrayList-  	   
        ArrayList arr_l = new ArrayList();

        //通过使用add()方法是添加
        //数组列表中的对象 
        arr_l.add(20);
        arr_l.add(10);
        arr_l.add(50);
        arr_l.add(40);
        arr_l.add(80);

        //显示ArrayList-
        System.out.println("arr_l : " + arr_l);

        //通过使用sort(arr_l,Comparator)方法是
        //进行排序
        Collections.sort(arr_l, null);

        //显示ArrayList-
        System.out.println("Collections.sort(arr_l, null): " + arr_l);

        //通过使用sort(arr_l)方法是
        //对arraylist进行排序 
        //比较器对象
        Collections.sort(arr_l);

        //显示ArrayList-
        System.out.println("Collections.sort(arr_l): " + arr_l);
    }
}

输出结果

arr_l : [20, 10, 50, 40, 80]
Collections.sort(arr_l, null): [10, 20, 40, 50, 80]
Collections.sort(arr_l): [10, 20, 40, 50, 80]