當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。