按相反順序對 Java 中的列表進行排序


列表可以透過 java.util.Collections.sort() 方法按相反順序(即降序)進行排序。此方法需要兩個引數,即要排序的列表和 Collections.reverseOrder(),該方法使用 Comparator 反轉元素集合的順序。

如果列表中存在相互不可比較的元素,則 Collections.sort() 方法會丟擲 ClassCastException。

演示此功能的程式如下

示例

 動態演示

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class Demo {
   public static void main(String args[]) {
      List aList = new ArrayList();
      aList.add("James");
      aList.add("Harry");
      aList.add("Susan");
      aList.add("Emma");
      aList.add("Peter");
      System.out.println("The unsorted ArrayList is: " + aList);
      Collections.sort(aList, Collections.reverseOrder());
      System.out.println("The sorted ArrayList in reverse order is: " + aList);
   }
}

以上程式的輸出如下

The unsorted ArrayList is: [James, Harry, Susan, Emma, Peter]
The sorted ArrayList in reverse order is: [Susan, Peter, James, Harry, Emma]

現在,讓我們瞭解一下上述程式。

建立 ArrayList aList。然後使用 ArrayList.add() 向 ArrayList 新增元素。列印未經排序的 ArrayList,然後使用 Collections.sort() 和 Collections.reverseOrder() 以相反順序對 ArrayList 元素進行排序。最後,列印經過排序的 ArrayList。演示此功能的程式碼片段如下

List aList = new ArrayList();
aList.add("James");
aList.add("Harry");
aList.add("Susan");
aList.add("Emma");
aList.add("Peter");
System.out.println("The unsorted ArrayList is: " + aList);
Collections.sort(aList, Collections.reverseOrder());
System.out.println("The sorted ArrayList in reverse order is: " + aList);

更新於:30-Jul-2019

9K+ 瀏覽次數

啟動您的 職業

完成課程以獲得認證

開始
廣告