按相反順序對 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);
廣告