现在位置: 首页 > Java 教程 > 正文

Java ArrayList sort() 方法

Java ArrayList Java ArrayList

sort() 方法根据指定的顺序对动态数组中的元素进行排序。

sort() 方法的语法为:

arraylist.sort(Comparator c)

注:arraylist 是 ArrayList 类的一个对象。

参数说明:

  • comparator - 顺序方式

返回值

sort() 方法不返回任何值,它只是更改动态数组列表中元素的顺序。

实例

以自然顺序排序,以下是字母的顺序:

实例

import java.util.ArrayList;
import java.util.Comparator;

class Main {
    public static void main(String[] args){

        // 创建一个动态数组
        ArrayList<String> sites = new ArrayList<>();
       
        sites.add("Runoob");
        sites.add("Google");
        sites.add("Wiki");
        sites.add("Taobao");
        System.out.println("网站列表: " + sites);

        System.out.println("不排序: " + sites);

        // 元素进行升序排列
        sites.sort(Comparator.naturalOrder());
        System.out.println("排序后: " + sites);
    }
}

执行以上程序输出结果为:

网站列表: [Runoob, Google, Wiki, Taobao]
不排序: [Runoob, Google, Wiki, Taobao]
排序后: [Google, Runoob, Taobao, Wiki]

在上面的实例中,我们使用了该 sort() 方法对名为 sites 的动态数组进行排序。

注意这一行:

sites.sort(Comparator.naturalOrder());

在此,Java Comparator 接口的 naturalOrder() 方法指定元素以自然顺序(升序)排序。

Comparator 接口还提供了对元素进行降序排列的方法:

实例

import java.util.ArrayList;
import java.util.Comparator;

class Main {
    public static void main(String[] args){

        // 创建一个动态数组
        ArrayList<String> sites = new ArrayList<>();
       
        sites.add("Runoob");
        sites.add("Google");
        sites.add("Wiki");
        sites.add("Taobao");
        System.out.println("网站列表: " + sites);

        System.out.println("不排序: " + sites);

        // 降序
        sites.sort(Comparator.reverseOrder());
        System.out.println("降序排序: " + sites);
    }
}

执行以上程序输出结果为:

网站列表: [Runoob, Google, Wiki, Taobao]
不排序: [Runoob, Google, Wiki, Taobao]
降序排序: [Wiki, Taobao, Runoob, Google]

在上面的实例中,Comparator 接口的 reverseOrder() 方法指定以相反的顺序(降序)对元素进行排序。

Java ArrayList Java ArrayList