易百教程

331、如何按降序对 ArrayList 进行排序?

要对 ArrayList 进行降序排序,可以使用 Collections 类的 reverseOrder()方法。参考以下示例。


import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Comparator;
import java.util.Iterator;
import java.util.List;

public class ReverseArrayList {

    public static void main(String[] args) {
        List list = new ArrayList<>();
        list.add(10);
        list.add(50);
        list.add(30);
        list.add(60);
        list.add(20);
        list.add(90);

        Iterator i = list.iterator();
        System.out.println("printing the list....");
        while (i.hasNext()) {
            System.out.println(i.next());
        }

        Comparator cmp = Collections.reverseOrder();
        Collections.sort(list, cmp);
        System.out.println("printing list in descending order....");
        Iterator i2 = list.iterator();
        while (i2.hasNext()) {
            System.out.println(i2.next());
        }

    }
}

运行结果如下:

printing the list....
10
50
30
60
20
90
printing list in descending order....
90
60
50
30
20
10