当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Java Collections sort()用法及代码示例


Collections类sort()方法

用法:

    public static void sort(List l);
    public static void sort(List l, Comparator com);
  • sort() 方法可在java.util包。
  • sort(List l) 方法用于根据自然排序对给定列表进行排序(即排序将按升序排列)。
  • sort(List l, Comparator com) 方法用于根据自定义排序对给定列表进行排序(即排序将基于给定的 Comparator com)。
  • 这些方法可能会在对给定列表进行排序时抛出异常。
    • ClassCastException:当给定的列表元素相互不可比时,可能会抛出此异常。
    • UnsupportedOperationException: 当给定列表 un-support 设置操作时可能会抛出此异常。
    • 这些是静态方法,可以通过类名访问,如果我们尝试使用类对象访问这些方法,那么我们也不会收到任何错误。

参数:

  • 在第一种情况下,sort(List l),
    • List l– 表示用于排序的列表。
  • 在第一种情况下,sort(List l, Comparator com),
    • List l– 表示用于排序的列表。
    • Comparator com– 表示用来计算给定列表的顺序(升序或降序)的 Comparator。

返回值:

在这两种情况下,方法的返回类型都是void,它不返回任何东西。

例:

// Java program to demonstrate the example 
// of sort() method of Collections

import java.util.*;

public class SortOfCollections {
    public static void main(String args[]) {
        // Instantiates an ArrayList  	   
        ArrayList arr_l = new ArrayList();

        // By using add() method is to add
        // objects in an array list 
        arr_l.add(20);
        arr_l.add(10);
        arr_l.add(50);
        arr_l.add(40);
        arr_l.add(80);

        // Display ArrayList
        System.out.println("arr_l:" + arr_l);

        // By using sort(arr_l,Comparator) method is
        // to sort the arraylist by using comparator object
        Collections.sort(arr_l, null);

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

        // By using sort(arr_l) method is
        // to sort the arraylist without using 
        // comparator object
        Collections.sort(arr_l);

        //Display 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]


相关用法


注:本文由纯净天空筛选整理自Preeti Jain大神的英文原创作品 Java Collections sort() Method with Example。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。